Symfony CLI参数由PHP解释

时间:2014-12-06 16:47:35

标签: php symfony

我尝试将数据库结构导入到使用Symfony / Doctrine进行映射。

我遵循了教程here,它提供了从现有数据库创建映射文件的命令:

php app/console doctrine:mapping:convert xml ./src/Acme/BlogBundle/Resources/config/doctrine/metadata/orm --from-database --force

但PHP解释器立即退出:

PHP Fatal error:  Option inconnue --from-database in Unknown on line 0
Could not startup.

Option inconnue表示法语中的未知选项)

我可以理解PHP不会将参数传递给app / console脚本。

如果我尝试使用HHVM,则会将参数发送到PHP脚本(因此,运行正常)。

PHP版本:PHP 5.5.12-2ubuntu4.1

编辑:问题已解决,请参阅下面的答案。我明天会接受它(StackOverflow限制)。

2 个答案:

答案 0 :(得分:1)

由于控制台脚本中的shebang,您可以通过执行以下操作在命令行中省略php解释器调用:

chmod +x app/console
./app/console doctrine:mapping:convert xml ./src/Acme/BlogBundle/Resources/config/doctrine/metadata/orm --from-database --force

或者,您可以这样做:

php app/console -- doctrine:mapping:convert xml ./src/Acme/BlogBundle/Resources/config/doctrine/metadata/orm --from-database --force

请注意在脚本输入文件名之后另外分隔--,告诉php解释器每个连续的参数应该被引导到脚本。

答案 1 :(得分:0)

问题解决了。

sudo apt-get purge php5-cli
sudo apt-get install php5-cli

似乎有人had the same problem,有些人认为php.ini丢失了。

所以我重新安装了PHP,现在它完美无缺。

如果有人对此行为有解释,那就太棒了!

编辑:哼,不,有问题。它完美地工作,直到我在php.ini中重新添加我的扩展。我刚刚添加了两行:

 extension=cairo.so
 extension=php_gtk2.so

现在它又被打破了......:/