网站首页 >> 技术教程 >> 正文
标题

运维相关 如何解决504报错

小小   2024-05-07 20:13:25   117℃   0
内容

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 1000;

proxy_read_timeout 1000;

send_timeout 1000;

将上述代码加入 nginx 配置项中,重启 nginx 后生效,再次尝试是否解决请求超时问题。


3. fastcgi 请求超时导致程序报错

如果更改以上内容仍然无法解决 504 的错误,那么很可能是 fastcgi 请求超时导致了程序访问超时,这个时候只需将下述内容加入 ngxin fastcgi 相关配置中,就可以解决请求超时的问题。


fastcgi_connect_timeout 1000;

fastcgi_send_timeout 1000;

fastcgi_read_timeout 1000;

总结:请求超时可能是多种原因导致,具体情况具体分析,代码总是不会骗人的嘛。

运维相关 如何解决504报错

点评

本文暂无评论 - 欢迎您