php脚本执行时间限制的问题
php脚本执行时间限制的问题
Clark_USTC 发表于4年前
php脚本执行时间限制的问题
  • 发表于 4年前
  • 阅读 211
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: 虚拟机环境中php脚本执行时间被限制在30s内,而脚本需要长时间运行(数据处理脚本)

背景:今天在工作中需要将mysql数据库中的数据从一台服务器迁移到另一台服务器,而数据库表结构有所变化,并且不要做表的切分工作,由原来的一张表切分成32张表,在数据处理过程中,发现php脚本执行时间无法超过30s,超过后报错:500,The server encountered an internal error ormisconfiguration and was unable to completeyour request.

解决方案:

第一步:          

1)在php.ini里面设置:max_execution_time =0 //没有执行时间限制;
2)通过PHP的ini_set 函数设置:ini_set("max_execution_time", 0);
3)通过set_time_limit 函数设置:set_time_limit(0);

大部分情况下通过这样的设置就可以使php的执行不受时间的限制,但如果php脚本的解析使用的是php-fpm,apache加载php-fpm模块后会有执行时间的限制,如果通过以上设置php脚本的执行时间依然受限,可以参考一下第二步:

第二部:

在Apache的配置中: etc/httpd/conf/httpd.conf 加载php-fpm模块添加时间限制  -idle-timeout

  #fastcgi_module
<IfModule fastcgi_module>
    FastCGIExternalServer /var/fcgi-bin/php-fpm -idle-timeout 360000 -host 127.0.0.1:9000
</IfModule>

对于配置文件的修改需要重启apache,重新加载php-fpm;

第二步参考:http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html#FastCgiExternalServer

Edit by Clark

@2014-6-10

共有 人打赏支持
粉丝 2
博文 22
码字总数 11359
×
Clark_USTC
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: