Выполнить php app/console doctrine: схема: обновление с контроллера symfony 2 Я хочу выполнить эту команду php app/console doctrine:schema:update из правил без использования exec php function, Любой комментарий будет использоваться для меня полностью. Спасибо!!! Ответ 1 Если вы ищете здесь, внизу приведен пример того, как выполнить команду из кода symfony. Также обратите внимание на примечание в конце, говорящее, что не может быть хорошей идеей использовать команду в вашем коде. Как сказано, следующий код следует использовать с осторожностью. Я бы не использовал его по причинам statet в symfony doc, но он работает. При использовании следующего кода внутри вашего контроллера вы можете выполнить команду: $kernel = $this->get('kernel'); $application = new \Symfony\Bundle\FrameworkBundle\Console\Application($kernel); $application->setAutoExit(false); $options = array('command' => 'list'); $application->run(new \Symfony\Component\Console\Input\ArrayInput($options)); Если вам нужен вывод, вам нужно либо использовать существующий класс, реализующий OutputInterface, либо создать свой собственный в зависимости от ваших потребностей. Ответ 2 Спасибо каждому, Я использовал этот код $kernel = $this->get('kernel'); $application = new \Symfony\Bundle\FrameworkBundle\Console\Application($kernel); $application->setAutoExit(false); //Create de Schema $options = array('command' => 'doctrine:schema:update',"--force" => true); $application->run(new \Symfony\Component\Console\Input\ArrayInput($options)); //Loading Fixtures $options = array('command' => 'doctrine:fixtures:load',"--append" => true); $application->run(new \Symfony\Component\Console\Input\ArrayInput($options)); и в этой ссылка, есть некоторая информация, возможно, будет полезна для других Спасибо!!!
Ответ 1 Если вы ищете здесь, внизу приведен пример того, как выполнить команду из кода symfony. Также обратите внимание на примечание в конце, говорящее, что не может быть хорошей идеей использовать команду в вашем коде. Как сказано, следующий код следует использовать с осторожностью. Я бы не использовал его по причинам statet в symfony doc, но он работает. При использовании следующего кода внутри вашего контроллера вы можете выполнить команду: $kernel = $this->get('kernel'); $application = new \Symfony\Bundle\FrameworkBundle\Console\Application($kernel); $application->setAutoExit(false); $options = array('command' => 'list'); $application->run(new \Symfony\Component\Console\Input\ArrayInput($options)); Если вам нужен вывод, вам нужно либо использовать существующий класс, реализующий OutputInterface, либо создать свой собственный в зависимости от ваших потребностей.
Ответ 2 Спасибо каждому, Я использовал этот код $kernel = $this->get('kernel'); $application = new \Symfony\Bundle\FrameworkBundle\Console\Application($kernel); $application->setAutoExit(false); //Create de Schema $options = array('command' => 'doctrine:schema:update',"--force" => true); $application->run(new \Symfony\Component\Console\Input\ArrayInput($options)); //Loading Fixtures $options = array('command' => 'doctrine:fixtures:load',"--append" => true); $application->run(new \Symfony\Component\Console\Input\ArrayInput($options)); и в этой ссылка, есть некоторая информация, возможно, будет полезна для других Спасибо!!!