2016-02-29 6 views
3

У меня есть следующие простые команды:Ошибка запуска процесса в Symfony

$process = new Process("php /Users/Name/Sites/App/app/../bin/console cache:clear --env=prod"); 
$process->run(); 

, когда я пытаюсь запустить это дает мне:

string(153) " Parse error: parse error in /Users/Name/Sites/App/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Container.php on line 278 "

Что не так?

+1

версии PHP? Версия компонента DependencyInjection? – Dmitry

+0

В моих проектах путь 'console'' 'app/console' вместо' bin/console'. Вы уверены в своем пути? – user2340612

+0

Пожалуйста, добавьте PHP и Symfony версии в свой вопрос. Как написано, на этот вопрос трудно ответить, потому что информации слишком мало. –

ответ

-1
$process = new Process("php /Users/Name/Sites/App/app/../bin/console cache:clear --env=prod"); 
$process->run(); 

Вы должны попробовать

$process = new Process("php /Users/Name/Sites/App/app/console cache:clear --env=prod"); 
$process->run(); 

Поскольку консоль находится в приложение/каталога, а не в мусорном ведре/

+2

Вы должны изменить тег поэтому – user2340612

3

Похоже, вы используете Symfony 3.0, который имеет "наконец" https://github.com/symfony/symfony/blob/3.0/src/Symfony/Component/DependencyInjection/Container.php#L282

PHP 5.5 и более поздние версии поддерживают «finally» в блоках try/catch. http://php.net/manual/en/language.exceptions.php

И выглядит ваш PHP версии меньше 5.5, поэтому обновить PHP версии> 5.5, и он будет работать

+1

В частности, Symfony 3.0 [требует PHP> = 5.5.9] (https://github.com/symfony/symfony/blob/3.0/composer.json). –

+1

Да, именно, спасибо за более президированную версию http://symfony.com/doc/current/reference/requirements.html –