PHP-Fcgi下PHP的执行时间设置方法


Posted in PHP onAugust 02, 2013

一般情况下设置PHP脚本执行超时的时间

一、在php.ini里面设置

max_execution_time = 1800;
二、通过PHP的ini_set 函数设置

ini_set("max_execution_time", "1800");
三、通过set_time_limit 函数设置

set_time_limit(1800);

PHP-Fcgi下PHP的执行时间设置方法

昨天,一个程序需要导出500条数据,结果发现到150条是,Nginx报出504 Gateway Timeout错误

经观察,发现大约30秒时超时,php.ini中执行时间配置已经是300秒:

max_execution_time = 300

再查nginx的相关配置,无果。

写了一个php的测试页再测

echo 'aaa';
set_time_limit(0);
sleep(40);
echo 'aa';

依然超时,可以确定set_time_limit这个函数没生效。

再查php-fcgi的配置php-fpm.conf,下边这个设置疑似有问题

<VALUE name="request_terminate_timeout">30s</VALUE>

查官方文档:http://php-fpm.org/wiki/Configuration_File

request_terminate_timeout - The timeout (in seconds) for serving a single request after which the worker process will be terminated. Should be used when 'max_execution_time' ini option does not stop script execution for some reason. Default: "5s". Note: '0s' means 'off'

大意是php中set_time_limit设置的时间内如果php还没执行完,则走此处的配置,也就是request_terminate_timeout=30秒。
先把这个参数改的和php中set_time_limit值一样,都是300秒,还不行,不理解为什么,如果高手知道请赐教。

最终把request_terminate_timeout关闭,程序可以正常执行了,问题解决

<VALUE name="request_terminate_timeout">0s</VALUE>

补充:如果前端的nginx服务器使用了upstream负载均衡,那个负载均衡配置中以下几个参数也需要相应修改

 proxy_connect_timeout       300s; 
 proxy_send_timeout          300s;  
 proxy_read_timeout          300s;
PHP 相关文章推荐
3种平台下安装php4经验点滴
Oct 09 PHP
phpfans留言版用到的install.php
Jan 04 PHP
有关php运算符的知识大全
Nov 03 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
Nov 26 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
Oct 30 PHP
PHP中通过fopen()函数访问远程文件示例
Nov 18 PHP
用PHP生成excel文件到指定目录
Jun 22 PHP
PHP实现补齐关闭的HTML标签
Mar 22 PHP
php简单实现多语言切换的方法
May 09 PHP
Nginx环境下PHP flush失效的解决方法
Oct 19 PHP
laravel 多图上传及图片的存储例子
Oct 14 PHP
Laravel实现批量更新多条数据
Apr 06 PHP
基于php中使用excel的简单介绍
Aug 02 #PHP
PHP自动识别字符集并完成转码详解
Aug 02 #PHP
PHP实现根据浏览器跳转不同语言页面代码
Aug 02 #PHP
php实现查询百度google收录情况(示例代码)
Aug 02 #PHP
浅析PHP Socket技术
Aug 02 #PHP
php中如何防止表单的重复提交
Aug 02 #PHP
浅析51个PHP处理字符串的函数
Aug 02 #PHP
You might like
PHP判断远程图片是否存在的几种方法
2014/05/04 PHP
JavaScript 学习笔记(十六) js事件
2010/02/01 Javascript
打造基于jQuery的高性能TreeView(asp.net)
2011/02/23 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
JavaScript实现简单图片滚动附源码下载
2014/06/17 Javascript
Javascript URI 解析介绍
2015/03/15 Javascript
arguments对象验证函数的参数是否合法
2015/06/26 Javascript
js简单实现标签云效果实例
2015/08/06 Javascript
jQuery实现选项卡切换效果简单演示
2015/12/09 Javascript
JavaScript File API实现文件上传预览
2016/02/02 Javascript
原生javascript实现解析XML文档与字符串
2016/03/01 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
JS制作适用于手机和电脑的通知信息效果
2016/10/28 Javascript
简单实现js浮动框
2016/12/13 Javascript
JS图片压缩(pc端和移动端都适用)
2017/01/12 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
2017/08/23 Javascript
微信小程序实现预览图片功能
2020/10/22 Javascript
ssm+vue前后端分离框架整合实现(附源码)
2020/07/08 Javascript
[46:16]2018DOTA2亚洲邀请赛3月30日 小组赛B组 iG VS VP
2018/03/31 DOTA
python使用Queue在多个子进程间交换数据的方法
2015/04/18 Python
Python和Java进行DES加密和解密的实例
2018/01/09 Python
python通过微信发送邮件实现电脑关机
2018/06/20 Python
通过Turtle库在Python中绘制一个鼠年福鼠
2020/02/03 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
美国保健品专家:Life Extension
2018/05/04 全球购物
ESDlife健康生活易:身体检查预订、搜寻及比较
2019/05/10 全球购物
电厂厂长岗位职责
2014/01/02 职场文书
五年级英语教学反思
2014/01/31 职场文书
秋季校运动会广播稿
2014/02/23 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
运动会加油稿20字
2014/11/15 职场文书
退货证明模板
2015/06/23 职场文书
劳动保障事务所个人工作总结
2015/08/12 职场文书
小程序后台PHP版本部署运行 LNMP+WNMP
2021/04/01 Servers
5人制售《绝地求生》游戏外挂获利500多万元 被判刑
2022/03/31 其他游戏