经过数小时的搜索和调试,我放弃了!
有数以千计的关于长期运行的 PHP 进程的问题和文章,但没有一个能解决我的问题。
我有一个包含以下代码的 PHP 脚本:
$cur = 0;
// Second, loop for $timeout seconds checking if process is running
while( $cur < 31 ) {
sleep(1);
$cur += 1;
echo "\n ---- $cur ------ \n";
}
它只是打算运行 31 秒。
我有一个 Nginx,PHP 在 debian 服务器中配置为 fastcgi。
我设置 max_execution_time = 600
在
/etc/php5/fpm/php.ini
我什至把它放进去
/etc/php5/cli/php.ini
还设置
request_terminate_timeout = 600
在 /etc/php5/fpm/pool.d/www.conf
我还在 nginx.conf http 部分进行了这些更改
client_header_timeout 600;
client_body_timeout 600;
send_timeout 600;
fastcgi_read_timeout 600;
fastcgi_send_timeout 600;
client_max_body_size 600;
fastcgi_buffers 8 128k;
fastcgi_buffer_size 128k;
并将指令放在服务器部分。以及 nginx 配置的 location 部分中的这些指令
send_timeout 600;
fastcgi_read_timeout 600;
fastcgi_send_timeout 600;
client_max_body_size 600;
fastcgi_buffers 8 128k;
fastcgi_buffer_size 128k;
但是我还是在浏览器中遇到Gateway Timeout错误!(是的!我重启了 php-fpm 和 nginx 数千次)
你们有什么想法吗?