本帖最后由 ytz2349 于 2014-10-5 16:15 编辑
环境如下
debian 6.0.10 / nginx 1.6.2 / mysql 5.5.40 ,运行 discuz x3.2
1、php 5.3.29 或者 php 5.4.33 版本,只要加载 php官方的 opcache ,discuz 管理后台只要点击 ucenter,就立即报 nginx 502 bad gateway 错误,访问其他页面一切正常,但是不加载 opcache,就不会出现这个错误; opcache 无论是 7.0.3 还是 7.0.2 都是如此。
错误日志为:recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 180.154.141.179,
server: www.xxx.com.cn , request: "GET /uc_server/admin.php?m=frame&a=main&iframe=1 HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi.sock:", host: "www.xxxx.com.cn", referrer: "http://www.xxxx.com.cn/admin.php"
nginx.conf 配置文件的 client buffer size 等都调整很大,还是无效;改成 tcp/ip 侦听(默认 unix socket )也无效。
百思不得其解。
2、php 5.5.17 (编译默认开启 opcache ),就不会报告上述错误。
可以排除的就是 discuz ucenter 配置文件的错误,因为这个在 之前的 php 5.2.17p1 运行了很久,一切正常,在 php 5.5.17 也是可以运行的(只是版本很高,我们有些程序不兼容)
到底是DISCUZ 程序不兼容 还是 opcache的问题?
如果不用 opcache,那用什么呢?xcache性能很烂,apc也不稳定。
|