2013-12-21 28 views
0

我試圖在我的本地環境中運行Drupal 7安裝,以前的工作都很好。我使用的是Mac OS X.當請求的網站在本地的瀏覽器顯示:7Php在Drupal 7應用程序中解析錯誤

Parse error: parse error in /Library/WebServer/Documents/.../xxx.module on line 7

線是

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

或將其與代碼返回一個錯誤:

ERR_EMPTY_RESPONSE

的阿帕奇錯誤文件顯示:

child pid 2114 exit signal Segmentation fault (11)

php -v返回

PHP 5.3.26 (cli) (built: Jul 7 2013 19:05:08) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies

該代碼似乎沒有錯。在另一臺機器上運行完全一樣。

+0

第7行上的代碼怎麼辦? ...也許你錯過了一些PHP擴展或類似 – Hackerman

+0

這是第7行:$ variables ['path'] = $ base_url。 「/ sites/default/files /」。爆炸( '公共://',$文件 - > URI)[1]; –

回答

0

數組引用是added in PHP5.4。你的服務器有v5.3.26,所以這個

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

是無效的語法。

你要麼需要升級到5.4(Homebrew讓那麼容易),或更改代碼:你爲什麼不使用file_create_url

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

我將我的Php升級到最新版本,解析器錯誤消失。謝謝! –

2

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