iis 和 php 最大执行时间错误

iis 和 php 最大执行时间错误

首先,我正在运行带有 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(带 512mb 内存),所以这真的不是性能问题

答案1

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.

查看该值是否已设置,或者是否需要增加。

答案2

IIS 本身有一个限制,规定了等待 FastCGI 处理器(本例中为 PHP)响应的时间。您的 PHP 代码(即 set_time_limit)将无法影响此限制。

如果您在 Windows 计算机上具有管理员权限,您将在应用程序配置对话框中的 IIS 管理控制台中找到该设置。IIRC 正常的开箱即用默认值是 300 秒,但您的主机似乎已将其关闭。

答案3

非常感谢大家。显然问题出在脚本本身上,而且它在 php5 上无法正常工作

相关内容