CakePHP应用程序显示语法错误,意外[
这是我收到的错误:CakePHP应用程序显示语法错误,意外[,php,linux,cakephp,amazon-ec2,syntax-error,Php,Linux,Cakephp,Amazon Ec2,Syntax Error,这是我收到的错误: Error: syntax error, unexpected '[' Line: 10 我正在linux服务器Ubuntu3.7上运行我的cakephp应用程序,它是cakephp 2.3.7和PHP5.3.1。 现在,在安装linux之后,我在EC2上运行WAMP。在我的本地计算机上,我在Windows 7上运行XAMPP,但没有收到相同的错误。下面是显示错误的代码: 10: <?php foreach ($this->Session->read
Error: syntax error, unexpected '['
Line: 10
我正在linux服务器Ubuntu3.7上运行我的cakephp应用程序,它是cakephp 2.3.7和PHP5.3.1。
现在,在安装linux之后,我在EC2上运行WAMP。在我的本地计算机上,我在Windows 7上运行XAMPP,但没有收到相同的错误。下面是显示错误的代码:
10: <?php foreach ($this->Session->read('Customer')['Addresses'] as $key => $value) {
11: $ids[$z++] = $value['id'];
12: ?>
...
10:
...
由于它在localmachine上没有给出任何错误,我假设它与服务器环境有关。请帮助,谢谢!:)问题在于您的PHP版本。PHP<5.4不接受
somefunction()['array']
的内容
解决办法是像这样分离该函数
$customer = $this->Session->read('Customer');
foreach ($customer['Addresses'] as $key => $value) {
//etc
该问题已记录在案,您可以在附近找到相关信息
(PD:当然,另一个解决方案是至少将PHP升级到5.4,但您需要记住)只有PHP 5.4+支持“函数数组解引用”:
必须先将结果分配给变量,才能在旧版本上工作:
$cust = $this->Session->read('Customer');
foreach ($cust['Addresses']...
在我的共享服务器上,我需要从PHP5.4更新到5.5,幸运的是它在cpanel中有一个选项