curl 504 php,nginx - PHP 经常提示 504 Gateway Time-out

问题

win7 安装的 nginx1.6.2 官网版 + wamp的PHP库,然后程序里面有PHP 使用curl去采集一个远程程序,但是总是会出现 504 Gateway Time-out提示!使用的是wamp里面的PHP,无php-fpm,如何修改 max_children 参数?

启动代码

@echo off

REM Windows 下无效

REM set PHP_FCGI_CHILDREN=5

REM 每个进程处理的最大请求数,或设置为 Windows 环境变量

set PHP_FCGI_MAX_REQUESTS=1000

echo Starting PHP FastCGI...

RunHiddenConsole D:/wamp/bin/php/php5.5.12/php-cgi.exe -b 127.0.0.1:9000 -c D:/wamp/bin/apache/apache2.4.9/bin/php.ini

echo Starting nginx...

RunHiddenConsole D:/nginx/nginx.exe -p D:/nginx

回复内容:

问题

win7 安装的 nginx1.6.2 官网版 + wamp的PHP库,然后程序里面有PHP 使用curl去采集一个远程程序,但是总是会出现 504 Gateway Time-out提示!使用的是wamp里面的PHP,无php-fpm,如何修改 max_children 参数?

启动代码

@echo off

REM Windows 下无效

REM set PHP_FCGI_CHILDREN=5

REM 每个进程处理的最大请求数,或设置为 Windows 环境变量

set PHP_FCGI_MAX_REQUESTS=1000

echo Starting PHP FastCGI...

RunHiddenConsole D:/wamp/bin/php/php5.5.12/php-cgi.exe -b 127.0.0.1:9000 -c D:/wamp/bin/apache/apache2.4.9/bin/php.ini

echo Starting nginx...

RunHiddenConsole D:/nginx/nginx.exe -p D:/nginx

set_time_limit(0);

504是web服务报的,一般是程序执行超时。

你是怎么解决的啊,我这边也出现了这种问题。

504通常是应用程序处理时间超时造成的,跟nginx没多大关系

通常以下几种情况会导致这个问题:

1.程序在处理大量的数据,或者有死循环之类的问题

2.创建数据库之类的连接因为某些原因连接不上,然后没有超时失败的机制,导致一直在创建连接

3.程序中有一些http请求,这些请求执行时间过长,导致超时

如果不能直接定位到问题,debug也很容易,在代码中任意位置插入exit,如果还超时说明造成超时的在这后面,往后移exit;如果不超时则在前面,往前移,直到找到问题

在curl请求是时候设置超时时间,当然这只是一个建议,手段如果采集内容过多建议不要在PHP端一次性做完,放到一个列表里尽量短时完成用前端刷新的方法去分步处理,这样会好一点,我之前就是这么处理的

修改Nginx配置:

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

fastcgi_buffer_size 64k;

fastcgi_buffers 4 64k;

fastcgi_busy_buffers_size 128k;

fastcgi_temp_file_write_size 256k;

设置php脚本

set_time_limit(0);

ignore_user_abort();

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值