0

我有:在我的 pc:wamp 服务器(apache+php-5.4.3+mysql)上,在我的 vps:nginx+php5-fpm+mysql(所有最新的 ubuntu 64 位服务器存储库中)。

最近我重新安装了整个vps

我的问题是

像这样的声明:

function foo($arr){

return $arr;

}


foo(['foo1','foo2','foo3'])

在我的电脑上工作,并且曾经在服务器上工作(相同的安装),但现在它给出了一个错误,例如:

Parse error: syntax error, unexpected '[' in /home/Websites/Domains/squazza/php/db.php 
on line 261 

(用 Array( ) 替换 [ ] 确实可以解决问题)

现在我假设这个问题与 php.ini 有关,所以我想问什么设置可能会影响这种行为,为什么?

4

3 回答 3

4

如果您查看短语法仅在 php 5.4+ 中可用的文档,我怀疑您的 php 版本不同。

PHP5.4中的新特性列表可能对您有些用处。

于 2013-01-28T14:23:26.643 回答
1

您可能没有使用 PHP 5.4。phpinfo()在您的脚本中运行并检查它。请记住,您可以在 CLI 模式下拥有不同的 PHP 版本。

于 2013-01-28T14:24:10.000 回答
0

正如@piddl0r 所指出的,短数组语法 ( [ 1, 2, 3 ]) 是在 PHP 5.4 中添加的。您会从Ubuntu 软件包存档中注意到Ubuntu 12.04 - Precise Pangolin - 仅提供 PHP 5.3.10PHP 5.4.6 在下一个版本 Quantal 中提供。要检查您的 PHP 版本,请在命令行上使用phpinfo()或。php --version

于 2013-03-22T18:48:46.327 回答