php5.5.12产生502错误解决方法

fix some old bugs&add some new bugs.pls enjoy our new bugs:)

php5.5.12似乎修复了一个由unix socket引起的提权bug,但是升级后发现,NginX产生502错误了

检查后发现,PHP-FPM在新版里为了修复php的unix socket默认值666权限带来的可能的跨站风险而把的umask设置成了660(666=所有用户都可以读写 在虚拟主机环境下 任何用户都可以读取其它用户的socket 这确实不安全)。导致NginX无法读写php的socket造成502错误

解决方案:

方法1:设置php的unix socket所有者和组与NginX相同(lnmp一键包里是www:www)

具体步骤为:

在php-fpm.conf文件(lnmp一键包对应文件位置在:/usr/local/php/etc。以下假设环境为lnmp一键包创建的)的[www]区段内加上:

listen.owner = www
listen.group = www
listen.mode = 0660

方法2:设置php的unix socket的umask为666。但是每次重启PHP都要重新设置一次

方法3:设置php-cgi使用tcp方式监听,并且重设NginX的php-fcgi里的后端地址

 

目前非常不建议升级到php5.5,虽然性能提高很明显,但是bug同样很多。目前已知问题:

1、打开探针并多次刷新,会导致segmentation fault,目前为止未修复

2、FPM会莫名其妙认为子进程忙碌并fork一堆进程,此问题在php5.5.11已修复

 

8 个回复 to “php5.5.12产生502错误解决方法”

  1. BeatenMo Says:

    非常感谢!!!!
    我也遇到了这个问题!
    终于解决了!!!!!

    [回复]

  2. PHP升级到5.5.12后,导致502错误~ | 小莫的小天空 Says:

    […] 原文地址:http://xuanwobbs.com.cn/archives/2014-05/php5-5-12-502.html […]

  3. 升级php导致502错误 | 柳暗花明 Says:

    […] http://xuanwobbs.com.cn/archives/2014-05/php5-5-12-502.html […]

  4. 趣购网 Says:

    亲,换个友链吗?联系QQ2782230959

    [回复]

    雨宫优子 回复:

    您好,您那个是什么类型的网站呢。

    [回复]

  5. Zoplor Says:

    博客换链接么? 我是个人博客

    [回复]

    雨宫优子 回复:

    可以吧。。怎么换

    [回复]

  6. 谢谢你救我一命 Says:

    网站升级PHP5.6宕机30分钟,一直502, 直到找到你的博客,看到你的方法1.
    一击命中,谢谢!!!

    [回复]

为何不留个言呢?

我要把我的最新文章显示在这!