PHPBB3 / Symfony控制台:从另一个PHP脚本执行时,不解析命令的参数

时间:2017-03-26 10:42:47

标签: php symfony console shell-exec phpbb

我使用phpbb3操作论坛。此版本的论坛附带一个名为" phpbbcli.php"的CLI工具。 CLI基于symfony / console组件。

我想使用此CLI工具从另一段PHP代码中以编程方式添加用户。此代码通过apache / mod_php调用执行。 (用户在网站上进行注册)。

我需要调用的命令如下所示:

/usr/bin/php /var/www/forum/bin/phpbbcli.php user:add --username=test-user --password=test-password --email=mail@example.com

如果我在服务器的shell上运行此命令,则会按预期创建用户。

由于我想从另一个PHP脚本中调用此命令,我执行了以下操作:

echo shell_exec('/usr/bin/php /var/www/forum/bin/phpbbcli.php user:add --username=test-user --password=test-password --email=mail@example.com');

但这次执行并不成功。相反,我收到错误消息,即用户名,密码以及电子邮件地址"太短"。所以脚本确实被执行了,但是参数"迷失了#34;不知。

[ERROR] The username you entered is too short.                                                                         
     The password you entered is too short.                                                                         
     The email address you entered is too short.

我已经调试了symfony / console组件。参数存在于控制台应用程序中。但是这些论点没有得到解析。这应该发生在方法" Command :: interact"。

当我在shell中执行CLI时,方法"交互"确实被召唤了。从我的PHP脚本中执行相同的方法"交互"不被称为。

生产服务器(Ubuntu 14.04)以及开发环境(Ubuntu 14.04 / vagrant)中出现问题。

我发现没有理由发生这种情况。

0 个答案:

没有答案