Windows-Server-2003

iis 和 php 最大執行時間錯誤

  • June 24, 2009

首先,我正在使用帶有 IIS 6.0 和 Plesk 的 Windows 2003 Server 執行 VPS

這些是 php.ini max_execution_time = 300 的設置;每個腳本的最大執行時間,以秒為單位

返回值為 ok echo ini_get(‘max_execution_time’); // 300

但是,當我嘗試使用密鑰生成器時,它會在 30 秒後停止執行並顯示致命錯誤:第 475 行的…超過了 30 秒的最大執行時間

生成器在共享主機上工作得很好,但在我的 vps 上根本不起作用……

我什至嘗試使用 set_time_limit(0);

還是一樣..我安裝了 FastCGI 並且 VPS 是 QuadCore Xenon (with 512mb ram) 所以這真的不是性能問題

FastCGI 在 %systemroot%\system32\inetsrv\fcgiext.ini 中有請求超時限制:

; RequestTimeout=n
; - Specifies the maximum allowed time, in seconds, for a request to this
;   application.  If a FastCGI process takes longer than this amount of time
;   on a single request, it will be terminated.  If not specified, the default
;   value is 90 seconds.

查看此值是否已設置,或者是否需要增加。

IIS 本身有一個限制,它規定了它將等待 FastCGI 處理器(在本例中為 PHP)響應的時間。您的 PHP 程式碼(即 set_time_limit)將無法影響這一點。

如果您在 Windows 機器上具有管理員訪問權限,您將在 IIS 管理控制台中的應用程序配置對話框中找到該設置。IIRC 正常的開箱即用預設值為 300 秒,但您的主機似乎已將其關閉。

引用自:https://serverfault.com/questions/28552