2013-06-14 5 views
0

Я разработал проект Symfony2 (v2.2.2), и он работал нормально.Ошибка анализа при производстве

Когда я развернуть его на моем сервере я встречаю 2 вопроса:

  • папку/бен не передавать через Filezilla (невозможно начать передачу)
  • я возникает ошибка синтаксического анализа при попытке доступа к веб /app.php/ в режиме отладки (см. ниже)

Сначала я не понимаю, почему это будет работать на местном, но не на производстве. Я также предположил, что эти ошибки связаны, но я не знаю, что такое/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; 
} 

Возможно связано to: Ошибка синтаксического анализа также возникает, когда я пытаюсь обновить мою базу данных через ssh-соединение.

Если кто-то знает причину, почему я не могу сделать его работу было бы сохранить свой день, что я уже потерял ...

Спасибо заранее, Жюль

+0

Что PHP версии вы используете на обоих? И какой код находится в Expenses.php в строке 21 – cheesemacfly

+0

Локальный php 5.4.4/на моем сервере php 5.3.10. Код Expenses.php добавлен в сообщение, но этот код работает локально ... –

ответ

1

производится Ваша ошибка используя синтаксис короткого массива [] в вашем коде.

Он не доступен в PHP 5.3.10, а также на вашем рабочем сервере. Короткий синтаксис был введен в PHP 5.4, который объясняет, почему ваш код работает в вашей среде dev.

изменение ...

$all_expenses[] = [$expense, $this->forYou($member, $expense)]; 

... к

$all_expenses[] = array($expense, $this->forYou($member, $expense)); 

... или обновить PHP версии вашего сервера, и он будет работать :)

+0

Хорошо, спасибо. Какой синтаксис я должен использовать? –

+0

array (value, value) или array (key => value, key => value) вместо [value, value] и [key => value, key => value] – nifr

+0

ok Большое спасибо, я обновлю весь свой код то ... И проблема в том, что моя папка/bin не может быть перенесена на мой сервер? –