在重新启动apache之前,PHP Exec命令将无法运行

时间:2018-10-19 07:41:47

标签: php apache debian exec imagick

我有一个执行命令的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天了……

任何有关如何诊断此问题的线索将不胜感激。

0 个答案:

没有答案