46

.csv ファイルを取得し、記載されている情報をアップロードして、.csv ファイル内の各ユーザーのアカウントを作成する関数を作成しました。

私の問題は、.csv ファイル内の何千ものエントリでこれを実行できるようにする必要があることですが、次のように、このタイムアウト エラーが発生し、その理由がわからないことが問題です。

HTTP Error 500.0 - Internal Server Error
c:\php-fastcgi\php-cgi.exe - The FastCGI process exceeded configured activity 
                             timeout
Detailed Error Information

Module -
FastCgiModule

Notification - 
ExecuteRequestHandler

Handler - 
PHP_via_FastCGI

Error Code -
0x80070102

ここに私のCSV関数があります:

http://jsfiddle.net/fS4t4/ - これは PHP であり、javascript セクションに入れるだけです。

これを修正する方法は?

更新: 私のプロバイダーは Winhost です

4

4 に答える 4

51

activityTimeoutサーバー/IIS/FastCGI 設定/編集の下の IIS マネージャーからも設定できます (IIS7 以上)。

于 2013-09-26T10:59:24.730 に答える
37

%windir%\system32\inetsrv\fcgiext.iniActivityTimeoutパラメーターに移動して見つけます。[php]セクションにコピーします。パラメータを任意の値に変更し、コメントアウトされていないことも確認してください。IISを再起動すると、問題がないはずです。

activityTimeoutサーバー/IIS/FastCGI設定/編集の下のIISマネージャーから設定(IIS7以降)することもできます。

于 2013-02-15T20:16:10.973 に答える
30

Windows Server 2008 R2 の場合、提供される IIS の既定のバージョンは IIS 7.5 です。そのファイルが存在しないため、デイブが提案したソリューションは機能しません。

代わりに、%windir%\system32\inetsrv\config\applicationHost.configサーバー全体のオプションを設定してみてください。<fastCgi>ブロックを見てください:

<fastCgi>
    <application fullPath = "C:\php\php-cgi.exe" arguments = "" 
        monitorChangesTo = "" stderrMode = "ReturnStdErrIn500" maxInstances = "4"
        idleTimeout = "300" activityTimeout = "30" requestTimeout = "90" 
        instanceMaxRequests = "5000" protocol = "NamedPipe" queueLength = "1000" 
        flushNamedPipe = "false" rapidFailsPerMinute = "10">
        <environmentVariables>
            <environmentVariable name="PHP_MAX_REQUESTS" value="5000" />
        </environmentVariables>
    </application>
</fastCgi>

ウェブサーバーを再起動することを忘れないでください。

プロセスが作業を完了するためにより多くの時間を与えるために、activityTimeoutを 90 と270に設定しました。requestTimeoutこれは私の問題には十分ではありませんでしたが、少なくとも IIS 7.5 で関連するビットを見つけることができるはずです。

于 2013-09-23T03:46:28.190 に答える