2016-06-16 101 views
0

我使用Slim Framework,並且設置了一個非常簡單的API來從數據庫檢索數據。這完美地在我的本地機器OS X El Capitan上運行。意外[ - 在本地工作,但不在共享主機上

但是 - 移動文件到一個共享的託管環境時,所有路由拋出500錯誤,這個錯誤具體是:

Parse error: syntax error, unexpected '[' vendor/nikic/fast-route/src/functions.php on line 12

12號線:

function simpleDispatcher(callable $routeDefinitionCallback, array $options = []) { 

我不能弄清楚爲什麼它會在這一行上拋出一個解析錯誤,爲什麼它在我的本地工作,但不是共享的,都運行PHP 5.5的一個版本。有人對此有何看法?

回答

3

您正在服務器中使用舊的PHP版本,該版本沒有正確支持Slim路由器。根據Slim框架的minimum requirements,您應該升級到PHP 5.5。 []風格的數組在老版本的PHP中不起作用,因此出現錯誤消息。

+1

要麼相應地修改代碼 – andrew

+1

升級肯定是要走的路。 PHP 5.3在幾乎兩年前就已經到達了生命的盡頭(http://php.net/eol.php)。即使PHP 5.5將於[2016年7月10日](http://php.net/supported-versions.php)即將到期。 – alexw

1

你需要這樣的老風格,以取代數組聲明:

function simpleDispatcher(callable $routeDefinitionCallback, array $options = array()) { 

而且在你的代碼中的所有其他事件。或者,如果可能的話,只需升級最終將支持方括號的PHP版本作爲數組聲明語法。

相關問題