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已修复
评论
非常感谢!!!!
我也遇到了这个问题!
终于解决了!!!!!
亲,换个友链吗?联系QQ2782230959
趣购网 您好,您那个是什么类型的网站呢。
博客换链接么? 我是个人博客
Zoplor 可以吧。。怎么换
网站升级PHP5.6宕机30分钟,一直502, 直到找到你的博客,看到你的方法1.
一击命中,谢谢!!!