php exec()Linux服务器奇怪的输出

php exec()Linux服务器奇怪的输出,php,linux,exec,Php,Linux,Exec,我正在尝试回溯一个php脚本,因为它需要一分钟以上的时间才能完成,我不希望用户等待 我的exec命令如下所示: exec ('php -f path/to/file.php > path/to/output.log 2>&1 &'); 首先,文件中的脚本没有执行我编程的操作,但是,输出文件仍然接收以下输出: X-Powered-By: PHP/5.6.24 Expires: Wed, 11 Jan 1984 05:00:00 GMT Cache-Control: n

我正在尝试回溯一个php脚本,因为它需要一分钟以上的时间才能完成,我不希望用户等待

我的exec命令如下所示:

exec ('php -f path/to/file.php > path/to/output.log 2>&1 &');
首先,文件中的脚本没有执行我编程的操作,但是,输出文件仍然接收以下输出:

X-Powered-By: PHP/5.6.24
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
Pragma: no-cache
Content-Type: text/html; charset=UTF-8
Link: <https://example.com/wp-json/>;
rel="https://api.w.org/"
Link: <https://example.com/?p=687>; rel=shortlink
....

输出保持不变,不确定这意味着什么,但我认为值得注意的是,经过反复试验,我发现

usr/bin/php 
指向一个php命令,该命令仅在当前服务器上输出文档,当我将其更改为

usr/bin/php5 

成功了。很难找到关于linux php命令的文档,我还没有找到其他有同样问题的人,但问题已经解决。

经过反复试验,我发现

usr/bin/php 
指向一个php命令,该命令仅在当前服务器上输出文档,当我将其更改为

usr/bin/php5 

成功了。很难找到关于linux php命令的文档,我还没有找到其他有同样问题的人,但问题已经解决。

一旦你对shell脚本进行了后台处理,
shell()
返回,你的父脚本继续执行。这意味着,当后台作业继续运行时,父脚本可以完全独立地退出/退出/无论什么。哎呀,我在问题中犯了一个错误,我的意思是键入exec而不是shell,想到shell_exec,我自己就感到困惑了。脚本有一个shebang吗?一般来说,最好包括一个,chmod到executable,并让/bin/sh调用它……没关系。它们基本上是一样的,exec()只是给你一个选择,可以捕获退出值,而不仅仅是输出。@Kkinsey所以我应该在我的后端php中放一个命令,比如开始时的/bin/sh,然后只执行文件本身?一旦你对shell脚本做了背景处理,
shell()
返回,你的父脚本继续执行。这意味着,当后台作业继续运行时,父脚本可以完全独立地退出/退出/无论什么。哎呀,我在问题中犯了一个错误,我的意思是键入exec而不是shell,想到shell_exec,我自己就感到困惑了。脚本有一个shebang吗?一般来说,最好包括一个,chmod到executable,并让/bin/sh调用它……没关系。它们基本上都是一样的,exec()只是给你一个捕获退出值的选项,而不仅仅是输出。@Kkinsey所以我应该在后端php中放一个命令,比如开始时的/bin/sh,然后只执行文件本身?