我已经尝试过并且无法理解为什么我的命令行程序在使用PHP exec()函数调用的Apache环境中不起作用。这是场景:
在CentOS 32位上安装了Apache 2.x和PHP 5.3.3
硬编码一个名为myScript.php的php文件,其中包含对exec()的简单调用,例如:
exec(“./ imageManipuator testImage.jpg 512 512>& output.log&”);
exec()函数应该使用给定的参数调用我的程序来处理请求,将输出重定向到文件“output.log”,所有这些都在'&'定义的后台进程中。
我检查日志,程序在程序中以1/4的方式执行,并在没有线索的情况下终止。
我尝试通过PHP Interactive shell调用执行PHP文件:
$ php myScript.php
程序的执行完全结束!这让我感到:
我的Apache / PHP配置有什么问题不允许我的程序一直执行。
也许是权限问题?我尝试以管理员用户身份更改已记录的用户,但它没有更改任何内容。
也许是内存问题?如果达到内存限制,是否应该有警告或通知?我还没有证实这是问题吗?
这是我的问题。我知道我正在使用函数exec()正确地在后台执行程序,因为当通过PHP Interactive shell调用同一个文件时,同样的脚本工作。 Apache / PHP配置中哪些内容不允许我的程序完全执行?
任何建议都是奖励,因为我已经用尽了我的想法。