PHP中exec命令的FAST CGI错误


FAST CGI error for exec command in PHP

我在php中遇到exec命令的问题。我正试图通过php中的exec命令运行一个包(ffmpeg.exe),但我的php脚本在其他运行中成功运行,即第一次运行很好,第二次运行给出内部服务器错误500,然后第三次运行成功,但第四次运行给我同样的错误。我对此感到疯狂,但不知道这是fastCGI错误还是php错误。我的环境详细信息是:操作系统-Windows7家庭高级版,service pack 1;IIS版本7.5.7600;php版本5.3.28

我的php脚本非常琐碎:-

echo "hello";
echo '</br>';
$cmd_to_execute = 'ffmpeg.exe -f concat -i list.txt -c copy output.mp4 -y';
echo $cmd_to_execute;
echo '</br>';
$f = exec($cmd_to_execute,$a,$b);
var_dump($a);
var_dump($b);
var_dump($f);
echo "finished";

?>

当它成功运行时:它生成的输出是:

hello
ffmpeg.exe -f concat -i list.txt -c copy output.mp4 -y
array(0) { } int(0) string(0) "" finished

失败时,页面显示以下信息:

Module  FastCgiModule
Notification    ExecuteRequestHandler
Handler PHP53_via_FastCGI
Error Code  0x800703e3

这是交替进行的——所有奇数运行都是成功的,所有偶数运行都会出错。我还尝试过在命令提示符下运行相同的命令,每次都能成功运行。请帮忙。

我知道这是一个老问题,但我在使用exec()时遇到了完全相同的问题,php脚本每隔一次都会失败。这也导致了其他非常简单的php脚本出现问题,这些脚本在过去从未出现过任何问题。

我正在运行一个批处理脚本,它在最后有一个"暂停"。一旦我从.bat中删除了暂停,我的php脚本每次都会运行。因此,php进程似乎没有干净地关闭,尽管它显然完成了正常的操作。然后它需要再次运行以失败,从而重置进程。。?

无论如何,如果有人有这个问题,看看第一个(成功的)过程是如何结束的。