首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

解決 IIS + FastCGI 下 PHP 執行逾時:RequestTimeout 與 ActivityTimeout 設定指南

     編輯:PHP 相關知識

問題現象

在 IIS 6 + FastCGI 環境執行 PHP 長時間腳本(如大量資料匯入、報表產生)時,常遇到錯誤:

The FastCGI process exceeded configured request timeout
或 FastCGI process exceeded configured activity timeout

解決方法:修改 fcgiext.ini

  1. 找到設定檔:C:\WINDOWS\system32\inetsrv\fcgiext.ini
  2. 在 `[PHP]` 區段下新增/調整以下參數:
[Types]
php=PHP

[PHP]
ExePath=C:\PHP\php-cgi.exe
InstanceMaxRequests=10000
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000
RequestTimeout=500
ActivityTimeout=900

參數說明

參數單位預設值建議值用途
RequestTimeout秒90300-600單一請求最大執行時間
ActivityTimeout秒30300-900進程無輸出/無活動的最大等待時間
InstanceMaxRequests次—10000單一 php-cgi 進程處理請求上限,防記憶體洩漏
PHP_FCGI_MAX_REQUESTS次—10000PHP 內建進程回收機制配合

補充建議

  • 修改後需重啟 IIS (`iisreset`) 生效。
  • 若腳本極長,同步調整 `php.ini` 的 max_execution_time(預設 30 秒)。
  • 生產環境建議監控長時間請求,避免佔用過多工作進程導致併發下降。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved