我尝试在我的本地环境中运行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
阿帕奇错误文件显示:
子 PID 2114 退出信号 分段故障 (11)
php -v 返回
PHP 5.3.26 (cli) (构建时间: Jul 7 2013 19:05:08) 版权所有 (c) 1997-2013 PHP 组 Zend Engine v2.3.0, 版权所有 (c) 1998-2013 Zend 技术
代码似乎没有错。在另一台机器上运行完全相同。
你为什么不使用file_create_url。
$variables['path'] = file_create_url($file->uri);
在 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];