存档

文章标签 ‘opcache’

php-fpm模式下间歇性无法获取不到$_SERVER或者$_REQUEST数据

2018年7月3日 没有评论

最近安装了一台新的服务器,nginx+php-fpm模式

使用过程中发现$_SERVER或者$_REQUEST(不排除$_POST或者$_GET)间歇性无法获取数据

但是只要重启php-fpm服务就可以解决,但是运行一段时间之后又会反复出现

由此分析应该为php-fpm问题(重启可以解决,个人推测为php-fpm进程问题),一开始以为是当前版本php的bug,后来降低php版本后依然存在,找了很多google资料,都没有遇到类似问题。

花了2天左右时间,对服务器软件配置文件参数逐一排查调试,都没有找到问题所在。

最后,只能从拓展插件上着手,暂时锁定了问题所在:

xcache拓展和opcache拓展建议只开启一个,似乎discuz里面用的是xcache,所以建议只安装xcache
在php-fpm模式下,如果同时安装xcache和opcache,会导致莫名其妙的$_SERVER或者$_REQUEST无法获取数据(间歇性)

所以个人推测:2个都用的话(双层cache)会导致php-fpm的部分进程假死,前段请求发送到假死的进程上后,则无法返回数据,当发送到没假死的进程就可以返回数据(当重启php-fpm服务又正常了)

关闭opcache拓展后,目前运行了近1.5天,已经没有发现此问题。

css.php