我有一个PHP脚本,可以从供应商合作伙伴处执行数据导入。它需要做的一件事是通过shell_exec()调用另一个脚本,然后处理图像文件并将其上传到Amazon S3存储桶。我现在正在终端上看这个脚本的输出,过了一会儿,我看到了一系列的消息:
Warning: shell_exec(): Unable to execute 'php -f /path/to/second/script.php /path/to/image/to/process.jpg' in /path/to/this/script.php on line 453
奇怪的是,在这个脚本中多次调用同一个脚本并开始工作,然后停止。它也可以从其他脚本中调用,并在这些脚本中正常工作。当我复制它无法运行的命令并将其粘贴在自己身上时,它始终有效。很明显,PHP有时能够运行它。
我在运行时在每一行上都有一个内存使用回显,我看到它在正常工作时高达148MB,在错误时低至77MB。 (这是在主脚本中,而不是无法运行的辅助脚本)。当错误开始出现时,内存使用量似乎越来越低。我第一次注意到它大约是88MB然后下降到85MB,81MB然后再降到77MB。
我不清楚可能导致脚本有时工作的原因,有时候不会。上次我检查时,PHP无法决定它是否可以被打扰,并且它不会磨损,所以为什么它可以很好地工作多年(我说几百个,如果没有几千个成功下载)然后它突然停止工作。并不是因为它试图处理无法下载的图像,因为脚本中存在一个阻止这种情况的情况,即使在处理其余部分时,我也经常会看到image does not exist
的负载。我最终不得不编写另一个脚本,然后重新运行并再次处理所有丢失的图像。
非常感谢任何想法!
顺便说一句,这是在使用Amazon Linux OS的大型AWS EC2实例上运行的。我们正在运行PHP5.3
答案 0 :(得分:0)
我正在处理同样的问题,我发现/ paht / to / php是/ usr / bin / php5