我有: 在我的电脑上: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有关,所以我想问什么设置可能会影响这种行为以及为什么?
答案 0 :(得分:4)
如果你看一下documentation那个短语法仅在php 5.4+中可用,我怀疑你的php版本是不同的。
PHP5.4中的list个新功能可能会对您有所帮助。
答案 1 :(得分:1)
你可能没有使用PHP 5.4。在脚本中运行phpinfo()
并进行检查。请记住,您可以在CLI模式下使用不同的PHP版本。
答案 2 :(得分:0)
正如@ piddl0r所指出的,PHP 5.4中添加了短数组语法([ 1, 2, 3 ]
)。您会在The Ubuntu Package Archive注明Ubuntu 12.04 - Precise Pangolin - only provided PHP 5.3.10; PHP 5.4.6 was provided in the next release, Quantal。要检查您的PHP版本,请在命令行中使用phpinfo()
或php --version
。