我正在尝试使用PHP exec调用一个需要几秒钟(涉及第三方的网络服务)的脚本。经过长时间的努力,我已将其简化为经典的Hello World示例。调用脚本看起来像这样:
exec('/usr/bin/php /home/quote2bi/tmp/helloworld.php > /tmp/execoutput.txt 2>&1 &');
当我运行这段代码时,输出的 execoutput.txt
包含了调用脚本页面的副本,而不是像我预期的那样包含 hello world
。为什么我不能使用 exec 执行这个 PHP 脚本呢?注意,当我将命令改为类似于
ls -l
这样的内容时,输出会是预期的目录列表。顺便说一下,如果有影响的话,我确实将被调用的脚本 chmod 为755了...更新 - 我把 exec 调用移到了调用脚本的末尾,至少现在我看不到调用脚本在输出中被执行了。谢谢回答者们,我会尝试一些这些想法。
求助!
谢谢 Steve
/usr/bin/php
与/usr/local/bin/php
)。 - Jimmie Lin