zoukankan      html  css  js  c++  java
  • xdebug调试出现nginx 504错误, xdebug不一会自动断开跳出调试,踩坑的过来人告诉你实质上只要增加一条配置就可以完美解决!!!

    1.首先要明确504错误是nginx配置问题,所以调试php等其他配置是木有用的.这样目标已经缩小很多了.

    2.其次, 明确这个nginx是做什么, 一般有两种: 

        a. 只是将请求代理转发, 在配置我们能看到proxy_pass ip 字眼

        b. 将请求通过fastcgi转发给php-fpm, 在配置有fastcgi_pass ip:port 字眼

    3. 最后,对于以上不同的分类对症配置:

    两种都是在nginx配置文件中的 http块下增加如下:

         a情况加上 : proxy_read_timeout 3600s;  

         b情况加上: fastcgi_read_timeout 3600s;

    其实很多网上说a情况还要再加上  proxy_connect_timeout 3600s;  proxy_send_timeout 3600s;配置

    b情况要再加上fastcgi_connect_timeout 3600s;  fastcgi_read_timeout 3600s; 配置

    但是实质上最关键的是read_timeout参数, 其他两个一般是不怎么会超时, 可配可不配.

    note: 有些情况一条请求链路上可能有多层nginx, 所以必定会a,b两种情况都存在的情况,具体哪个nginx是哪种情况,对应的nginx配置认证看下就知道了.

    做了如上配置后,nginx504错误是可以解决的, 但如果在以上问题解决完后,xdebug出现过了一段时间就会自动断开并跳出调试的问题.因为是nginx+php-fpm模式, 那么这个问题只能是php的问题.这个是php的脚本执行超时限制. 如果你用的fpm模式, 那么只要修改php-fpm的配置, 找到其中request_terminate_timeout字段设置一个较大的值, 或者设置为0表示永不超时,fpm的默认值就是永不超时.然后重启你pph-fpm以便生效修改的配置.

  • 相关阅读:
    完整的UED流程
    curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
    部署方案模板
    商城项目合作
    架构师分类
    k8s视图
    虚拟化通信技术
    AxureRP8 实现时间功能
    在AxureRP8中实现广告文字滚动效果
    获取当前网络中的电脑数目及MAC-通过MAC查找IP-通过IP查询机器名
  • 原文地址:https://www.cnblogs.com/gaosf/p/14533566.html
Copyright © 2011-2022 走看看