强制PHP使用命令行概述错误

时间:2013-10-10 15:37:25

标签: php ssh execute

我正在尝试调试从命令行运行的PHP应用程序。我想稍后使用cronjob来每小时调用一次模块。

为了调试,我执行这样的PHP脚本:

php -c /etc/php5/apache2/php.ini /var/www/module/test/autostart/start.php 12 &

(忘掉“12” - 这是剧本的参数)

现在基本上我通过SSH获得此输出:

[2] 10181
[1] Done                php -c /etc/php5/apache2/php.ini /var/www/module/test/autostart/start.php 12 

我不知道我改变了什么,但几周前我直接在屏幕上得到了实际的php错误。这就是我的期望。但我不知道如何强制PHP直接输出结果。

3 个答案:

答案 0 :(得分:2)

您将看不到任何输出,因为您正在使用“&”运行脚本,使用fg命令将进程恢复到前台。

答案 1 :(得分:1)

当你使用&最后,命令在后台启动。您可以通过命令jobs查看后台进程。当你尝试它时,你可以看到php进程已停止'状态。

问题是php正在等待输入。 它是由这个php扩展引起的:

readline php extension

以这种方式运行:

php -c /etc/php5/apache2/php.ini /var/www/module/test/autostart/start.php 12 < /dev/null &

或禁用该扩展程序。

答案 2 :(得分:0)

从命令行末尾删除&符号。它告诉shell在后台运行命令。

编辑:否则,可能是因为你正在使用网络调整的php.ini:我希望配置将错误记录到日志文件中。