Increase PHP script execution time with Nginx

有时候需要执行长时间运行的脚本, 因为 nginx 或者 php 配置的原因, 会导致 nginx 报 504 错误:

504 Gateway Time-out

增加脚本执行时长需要同时修改nginx 和php的配置, 具体如下:

首先,需要增加 php 脚本的最大执行时间, 在 php.ini 文件中设置, 默认的时间是 30s. 如果你使用的是 ubuntu, 这个配置文件的配置可能位于:

/etc/php5/fpm/php.ini

如果是centos, 则应该是

/etc/php.ini

需要配置的 key 为:

max_execution_time = 300

如果你使用的是 php-fpm, 你可能还需要修改 php-fpm 的设置, 在 pool.d/ 文件夹下的 www.conf 文件.

request_terminate_timeout = 300

这个值默认是 0, 也就是处于关闭的状态.

最后, 需要对 nginx 进行设置, 需要修改的 key 为:

 fastcgi_read_timeout 300;

默认是 300s, 你可以根据需要修改的大一些.

添加新评论