【问题标题】:Php parse error in Drupal 7 applicationDrupal 7 应用程序中的 PHP 解析错误
【发布时间】:2013-12-21 22:07:57
【问题描述】:

我尝试在我的本地环境中运行 Drupal 7 安装,该环境以前运行良好。我使用 Mac OS X。在本地请求网站时,浏览器显示:

解析错误:/Library/WebServer/Documents/.../xxx.module 中的解析错误 在第 7 行

第 7 行是

$variables['path'] = $base_url . "/sites/default/files/" . explode('public://',$file->uri)[1]

或者它返回代码错误:

ERR_EMPTY_RESPONSE

apache错误文件显示:

child pid 2114 exit signal Segmentation fault (11)

php -v 返回

PHP 5.3.26 (cli)(构建时间:2013 年 7 月 7 日 19:05:08)版权所有 (c) 1997-2013 PHP Group Zend Engine v2.3.0,版权所有 (c) 1998-2013 Zend 技术

代码似乎没有错。在另一台机器上运行完全一样。

【问题讨论】:

  • 第 7 行的代码呢?? ...也许你缺少一些 php 扩展或类似的东西
  • 即第 7 行: $variables['path'] = $base_url 。 “/站点/默认/文件/”。 explode('public://',$file->uri)[1];

标签: php drupal drupal-7 parse-error


【解决方案1】:

你为什么不使用file_create_url

$variables['path'] = file_create_url($file->uri);

【讨论】:

    【解决方案2】:

    数组取消引用是added in PHP5.4。你的服务器有 v5.3.26,所以这个

    explode('public://',$file->uri)[1];
    

    不是有效的语法。

    您要么需要升级到 5.4(Homebrew 让这一切变得简单),要么更改您的代码:

    $parts = explode('public://',$file->uri);
    $variables['path'] = $base_url . "/sites/default/files/" . $parts[1];
    

    【讨论】:

    • 我将我的 PHP 升级到最新版本,解析器错误消失了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-20
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    • 2013-05-17
    • 2020-07-19
    相关资源
    最近更新 更多