意外 [ - 在本地工作,但不在共享主机上
Unexpected [ - works locally, but not on shared hosting
我正在使用 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 的一个版本。有人知道为什么会这样吗?
您在服务器中使用的是旧 PHP 版本,该版本不能正确支持 Slim 路由器。你应该按照slim框架的minimum requirements升级到PHP5.5。 [] 样式数组在旧版本的 PHP 中不起作用,因此出现错误消息。
您需要像这样用旧样式替换数组声明:
function simpleDispatcher(callable $routeDefinitionCallback, array $options = array()) {
以及代码中的所有其他事件。或者,如果可能,只需升级最终将支持方括号作为数组声明语法的 PHP 版本。
我正在使用 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 的一个版本。有人知道为什么会这样吗?
您在服务器中使用的是旧 PHP 版本,该版本不能正确支持 Slim 路由器。你应该按照slim框架的minimum requirements升级到PHP5.5。 [] 样式数组在旧版本的 PHP 中不起作用,因此出现错误消息。
您需要像这样用旧样式替换数组声明:
function simpleDispatcher(callable $routeDefinitionCallback, array $options = array()) {
以及代码中的所有其他事件。或者,如果可能,只需升级最终将支持方括号作为数组声明语法的 PHP 版本。