FastCGI进程超出配置的活动超时

Dav*_*iga 34 php runtime-error

我有一个我构建的函数,它将获取.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
Run Code Online (Sandbox Code Playgroud)

这是我的CSV功能:

http://jsfiddle.net/fS4t4/ - 这是在PHP中,我把它扔进javascript部分.

如何解决这个问题?

更新:我的提供商是Winhost

mom*_*omo 41

activityTimeout 也可以从服务器/ IIS/FastCGI设置/编辑下的IIS管理器设置(IIS7及更高版本).

  • 赞成所有人!虽然这绝对应该是对@ icedwater的答案的评论,或直接编辑答案.社区鼓励编辑,因为他们保持最新的答案,同时保持StackOverflow的简洁性.这是一个链接,提供有关何时编辑相关的更多信息 - http://stackoverflow.com/help/privileges/edit (3认同)

Dav*_*ley 32

转到%windir%\system32\inetsrv\fcgiext.ini并找到ActivityTimeout参数; 将其复制到[php]部分.将参数更改为您想要的任何值,并确保它没有被注释掉.重新启动IIS,你应该很好.

activityTimeout 也可以从服务器/ IIS/FastCGI设置/编辑下的IIS管理器设置(IIS7及更高版本).

  • 我在IIS 7.5/Windows Server 2008 R2上找不到此文件. (7认同)

ice*_*ter 29

对于Windows Server 2008 R2,提供的IIS的默认版本是IIS 7.5.Dave建议的解决方案不起作用,因为该文件不存在.

相反,尝试%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>
Run Code Online (Sandbox Code Playgroud)

请记住重新启动您的网络服务器

我将设置activityTimeout为90和requestTimeout270,以便为进程提供更多时间来完成他们的工作.这对我的问题来说还不够,但它至少应该让人们在IIS 7.5上找到相关的位.


Aas*_*nal 27

对于IIS 7.5,您可以更改文件的设置

C:\ WINDOWS\SYSTEM32\INETSRV \设置\的applicationHost.config

并找到下面的行并根据您的要求进行更改

<fastCgi>
    <application fullPath="C:\PHP\php-cgi.exe" idleTimeout="900" activityTimeout="180" requestTimeout="10000" instanceMaxRequests="10000" />
</fastCgi>
Run Code Online (Sandbox Code Playgroud)

不要忘记重新启动服务器

或者 这也可以从UI完成:

打开InetMgr(窗口+ R型Inetmgr并按Enter键) 从run命令打开inet manager

在inet管理器中过滤快速CGI

双击或单击编辑fastcgi

修改fastcgi设置

在此输入图像描述

  • 谢谢你的截图!在找到更改此设置的位置方面有很大帮助。 (2认同)