簡體   English   中英

PHP中的exec命令的FAST CGI錯誤

[英]FAST CGI error for exec command in PHP

我在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

這可以選擇 - 所有奇數運行都是成功的,所有偶數運行都會出錯。 我也嘗試在命令提示符下運行相同的命令,並且每次都成功運行。 請幫忙。

我知道一個老問題,但是當使用exec()時,我遇到了與php腳本完全相同的問題。 這也導致了其他非常簡單的PHP腳本的問題,這些腳本在過去從未出現任何問題。

我正在運行一個批處理腳本,最后有一個“暫停”。 一旦我從.bat中刪除了暫停,我的php腳本每次都會運行。 所以看起來php進程並沒有干凈利落地關閉,即使它顯然已經完成了。 然后它需要另一次運行失敗,這會重置進程..?

無論如何,如果有人遇到這個問題,請研究第一個(成功)過程是如何結束的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM