我正在尝试支持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 &');
输出保持不变,不确定这意味着什么,但我认为值得注意
答案 0 :(得分:0)
经过反复试验,我发现了
usr/bin/php
指向一个php命令,它只在我当前的服务器上输出文档,当我将其更改为
时usr/bin/php5
它奏效了。很难找到关于linux php命令的文档,我仍然没有找到有同样问题的其他人,但它仍然得到了解决。