【问题标题】:FAST CGI error for exec command in PHPPHP 中 exec 命令的 FAST CGI 错误
【发布时间】:2014-11-18 02:16:24
【问题描述】:

我遇到了 php 中的 exec 命令的问题。我正在尝试通过 php 中的 exec 命令运行包( ffmpeg.exe ),但是我的 php 脚本在备用运行中成功运行,即第一次运行很好,第二次运行给出内部服务器错误 500,然后第三次运行成功但第四次运行给出我同样的错误。我对此感到抓狂,但无法弄清楚它是 fastCGI 错误还是 php 错误。 我的环境详细信息是:操作系统 - Windows 7 Home Premium,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

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

【问题讨论】:

  • 我正在尝试各种方法,但问题仍然存在。谁能至少建议我应该尝试解决这个问题 - 升级 php 版本,或者对 IIS 服务器进行一些升级,或者更改 Web 服务器本身??
  • 我遇到了这个确切的问题。 Windows Server 2008 R2、PHP 5.6.0、IIS 7.5 似乎只是对 ffmpeg 的调用会在下一次请求时导致 500 错误。 php-cgi.exe 进程在完成请求之前退出。我无法从 resmon 中弄清楚发生了什么。如果您对此有任何信息,请告诉我。

标签: php exec fastcgi


【解决方案1】:

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

我正在运行一个批处理脚本,该脚本最后有一个“暂停”。一旦我从 .bat 中删除了暂停,我的 php 脚本每次都会运行。所以看起来 php 进程并没有完全关闭,即使它显然完成了。然后它需要再次运行失败,这会重置进程..?

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

【讨论】:

    猜你喜欢
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 2013-01-06
    • 2011-04-26
    • 1970-01-01
    • 2021-08-05
    • 2016-04-25
    • 1970-01-01
    相关资源
    最近更新 更多