php后台耗时任务设置

运行环境:ubuntu14.04+nginx+php5.6+thinkphp


需求:thinkphp cron定时执行长时间任务


问题描述:定时任务控制器总是异常终止,查找原因,直接访问该任务url,先提示:504 Gateway Time-out,改了fastcgi_connect_timeout,fastcgi_send_timeout,fastcgi_read_timeout三个nginx配置后,又提示:502 Bad Gateway
后台执行让php支持长任务运行(如1小时),需要设置以下几处:

1、修改php代码中处理超时时间:
    ini_set('memory_limit','3072M');
    ini_set("max_execution_time", 0);

    set_time_limit(0);

2、修改nginx配置(/etc/nginx/sites-avaliable/default):

  fastcgi_connect_timeout 3600s;
  fastcgi_send_timeout 3600s;
  fastcgi_read_timeout 3600s;

3、修改php配置(/etc/php/5.6/fpm/pool.d/www.conf):

     request_terminate_timeout=3600


参考链接:Nginx PHP 报504 Gateway time-out错误的解决方法 

发布了44 篇原创文章 · 获赞 28 · 访问量 42万+

猜你喜欢

转载自blog.csdn.net/hanzengyi/article/details/80181492