我有一个执行命令的php脚本。该脚本已经运行了几个月甚至几年。自从升级到debian 9以来,它每天都停止工作。如果我重新启动apache,它将在一整天内再次工作,然后将在第二天停止工作,直到我重新启动apache,依此类推!
我写了一个非常简单的测试脚本:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
exec('/usr/bin/convert -density 600 /var/www/mysite/var/tmp/etiquette_20181019_071109_991362.pdf[0] -quality 75 /var/www/mysite/var/tmp/etiquette_20181015_110715_817744.pdf.test.jpeg', $output, $return);
var_dump($return);
var_dump($output);
echo shell_exec('echo SHELL EXEC');
echo exec('echo EXEC',$return,$output);
echo 'done';
当我调用URL时,结果是:
int(1) array(0) { } SHELL EXEC EXECdone
但未创建文件/var/www/mysite/var/tmp/etiquette_20181015_110715_817744.pdf.test.jpeg。 (该页面会立即显示,表明convert命令可能根本没有运行。...)
然后我只需要/etc/init.d apache2重新启动,然后再次调用该URL。现在,与创建文件后的输出相同(在图像转换过程中,该页面最多需要5或10秒的时间),并且它将一直工作到第二天。现在已经每天重现5天了……
任何有关如何诊断此问题的线索将不胜感激。