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

php exec() Linux server strange output

我正在尝试回滚 php 脚本,因为它需要一分多钟才能完成,我不希望用户等待。

我的执行命令如下:

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
....

这个输出根本不是我的脚本应该做的,对我来说没有意义。

其余输出是 html 文档,其中包含指向我的网站等的不同链接。

谁能告诉我为什么会这样,而不仅仅是 运行 脚本?

顺便说一句

我使用了不同的命令,例如 /usr/bin/php,但效果相同

更新

我注意到在将第一个 path/to/file.php 参数更改为乱码后,即

exec ('php -f asdfjaskldfj > path/to/output.log 2>&1 &');

输出保持不变,不确定这意味着什么,但我认为值得注意

经过反复试验我发现

usr/bin/php 

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

usr/bin/php5 

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