我开发了一个Symfony2项目(v2.2.2),它在本地工作得很好。
当我在服务器上部署它时,我遇到了两个问题:
首先,我不明白为什么它会在本地工作,而不是在生产上。 我也猜到这些错误在哪里链接但我不知道什么是/ bin用于(只包含2个文件doctrine和doctrine.php),如果我在本地删除它继续工作......
解析错误如下:
“FatalErrorException:Parse:语法错误,意外'['在/home/colocall/twinkler/src/Tk/ExpenseBundle/Services/Expenses.php第21行”
Expenses.php第15行 - > 25:
public function getAllExpenses($member, $group)
{
$all_expenses_col = $group->getExpenses();
$all_expenses = array();
foreach($all_expenses_col as $expense){
$all_expenses[] = [$expense, $this->forYou($member, $expense)];
}
return $all_expenses;
}
可能链接到:当我尝试通过ssh连接更新我的数据库时,也会发生解析错误。
如果有人知道我无法使其工作的原因,那么我将失去我已经失去的一天......
提前谢谢你, 朱
答案 0 :(得分:1)
您的错误是通过在代码中使用短数组语法[]生成的。
在生产服务器上的PHP 5.3.10中不可用。 PHP 5.4中引入了短语法,解释了为什么您的代码在您的开发环境中工作。
改变......
$all_expenses[] = [$expense, $this->forYou($member, $expense)];
...到
$all_expenses[] = array($expense, $this->forYou($member, $expense));
...或更新服务器的php版本,它将起作用:)