PHP脚本运行90秒后出现内部服务器错误500



有一个运行几分钟的php脚本。它在服务器上创建了大量(最多10000个)小文件(2-20K)。

出于某种原因,大约90秒后,我总是收到一个500内部服务器错误。我认为这可能是php.ini的问题,所以我在那里编辑了一些值:

max_execution_time = 1000
max_input_time = 1000
default_socket_timeout = 1000
memory_limit = 400M
post_max_size = 100M
file_uploads = On
upload_max_filesize = 100M

我还使用phpinfo()检查了这些新设置是否发生,并看到它们确实生效了。

为了让我的剧本发挥作用,我还能做什么/更改什么?

PHP5.5Windows Server 2008 R2、SP1、,遗憾的是,只有600 MB的物理内存errors_log中没有任何内容。

希望能拯救别人的头发(我在这件事上几乎拔出了自己的头发)

解决方案是增加FastCGI活动超时
使用appcmd(IIS 7命令行工具)修改IIS配置XML文件。

在管理员模式下运行cmd

要检查当前设置,请使用:

%windir%system32inetsrvappcmd list config -section:system.webServer/fastCgi

添加活动超时(假设CGI位置为C:\php\php-CGI.exe):

%windir%system32inetsrvappcmd set config -section:system.webServer/fastCgi /[fullPath='C:phpphp-cgi.exe'].activityTimeout:600

这个输出现在应该类似于这个:-

<system.webServer>
<fastCgi>
<application fullPath="C:PHPphp-cgi.exe" activityTimeout="600" instanceMaxRequests="10000">
<environmentVariables>
<environmentVariable name="PHP_FCGI_MAX_REQUESTS" value="10000" />
</environmentVariables>
</application>
</fastCgi>
</system.webServer>

应答帖中的命令对我不起作用。

这是正确的:

C:WindowsSystem32inetsrv>appcmd set config -section:system.webServer/fastCgi "-[fullPath='C:Program Files (x86)PHPv5.2php-cgi.exe'].activityTimeout:3600"

注意双引号。信用额度http://www.bokko.nl/increase-fastcgi-php-activitytimeout-in-iis7/

相关内容

  • 没有找到相关文章

最新更新