php出现502错误的原因是:1、php.ini的memory_limit过小;2、php-fpm.conf中max_children或者max_requests设置不合理;3、php程序执行时间过长而超时。
常见的原因有以下几种:
1、php.ini 的memory_limit 过小(如果有个别php程序进程需要占用极大内存时这个必须注意);
2、php-fpm.conf 中max_children或者max_requests 设置不合理;
设置过小会因为没有足够的cgi进程处理请求,设置过大会出现一会儿有响应正常,一会儿等很久才有响应的情况。
3、查看nginx错误日志,发现 pstream sent too big header while reading response headerfrom upstream ,则检查client head buffer,fastcgi buffer size是否过小,可设置为32K;
立即学习“PHP免费学习笔记(深入)”;
4、php 程序执行时间过长而超时,检查nginx和fastcgi中各种timeout设置;
5、php-fpm 有一个参数 max_requests ,该参数指明了每个children最多处理多少个请求后便会被关闭;
在大量处理请求下,如果该值设置过小会导致 children频繁的自杀和建立而浪费大量时间,若所有的children差不多都在这个时候自杀,则重建前将没有children响应请求,于是出现502 。可以将该值设置大一些或者是0[无限]。
如果您想了解更多相关知识,请访问【创想鸟】。
以上就是php为什么会出现502错误的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2137400.html