504原因分析:
- PHP运行时间超时,导致程序报错504;
- Nginx运行时间超时,导致程序报错504;
- php-fpm运行超时,导致程序报错504。
1. PHP代码导致程序报错
首先确认PHP版本,PHP5.4版本下有一个叫做safe_mode安全模式的运行模式,一旦开启后,一些函数将会失效,例如我们解决PHP运行时间限制的函数 set_time_limit以及 php.ini中的max_execution_time 如果你开启了这一模式 请关闭后重启PHP。
PHP默认安全模式是关闭的 所以如果你没有开启过安全模式,只需要修改php.ini中的 max_execution_time 选项,或者代码中使用set_time_limit即可解决PHP超时导致的504错误。
2. Nginx请求超时导致程序报错
如果PHP代码处理以后还是报504错误,我们就可以从ngxin上找找看是否是nginx访问超时导致的错误。
proxy_connect_timeout 1000;
proxy_send_timeout