2016-06-16 103 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版本作为数组声明语法。

相关问题