PHP超时问题解决(fcgid模式)

文章描述了一位开发者遇到的在使用thinkPHP5.0.24时,服务器响应时间始终为1分钟的问题。通过设置PHP脚本的运行时间、内存限制以及调整Apache和Nginx的超时配置,最终将响应时间增加到3.3分钟,成功解决了方法执行超时的状况。

在这里插入图片描述
在这里插入图片描述
使用的框架是thinkPHP 5.0.24,其他配置见上图
调用方法之后f12工具显示的正在等待服务器响应的时间是1分钟,测试了多次都是1分钟

set_time_limit(0);//取消时间限制
ini_set("max_execution_time", 0);//取消时间限制
ini_set("memory_limit", -1);//取消运存限制
ini_set("pcre.backtrack_limit", -1);//取消正则匹配递归限制

PHP文件中添加如上代码后再测试正在等待服务器响应时间仍然是1分钟
在这里插入图片描述
在这里插入图片描述
Apache和Nginx的超时时间调大之后重新测试正在等待服务器响应时间仍然是1分钟
在这里插入图片描述
Apache 在httpd.conf文件最后添加如下代码

<IfModule mod_fcgid.c>
FcgidConnectTimeout 600000
FcgidBusyTimeout 600000
FcgidIdleTimeout 600000
FcgidIOTimeout 600000
FcgidProcessLifeTime 600000
FcgidMaxRequestLen 600000
</IfModule>

Nginx 在nginx.conf文件http配置最后添加如下代码

http {
    //省略部分代码
    fastcgi_connect_timeout 600000s;
    fastcgi_send_timeout 600000s;
    fastcgi_read_timeout 600000s;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 8 128k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
    fastcgi_intercept_errors on;
}

重启环境之后测试
在这里插入图片描述
f12中正在等待服务器响应时间变成3.3分钟,方法执行成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值