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

时间:2016-08-04 21:35:25

标签: 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: 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文档,其中包含指向我网站的不同链接等。

任何人都可以告诉我为什么会这样,而不是简单地运行脚本吗?

BTW

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

更新

我注意到在将第一个路径改为/ file.php paremeter后改为乱码,即

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

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

1 个答案:

答案 0 :(得分:0)

经过反复试验,我发现了

usr/bin/php 

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

usr/bin/php5 

它奏效了。很难找到关于linux php命令的文档,我仍然没有找到有同样问题的其他人,但它仍然得到了解决。