网站地图

php装memcache扩展引发的php-fpm崩溃的问题

创建时间:2014-10-20 18:23:59最后修改:2014-10-20 18:24:24

今天打开网站发现网站所有页面都报502错误,查看nginx的日志显示如下错误信息:

2014/10/20 18:12:29 [error] 388#0: *577 upstream prematurely closed connection while reading response header from upstream, client: 127.0.0.1, server:***
原因是php-fpm给异常退出了。


要确定问题先要查看日志,查看了php和php-vpm的错误日志都没有发现问题,然后转查系统日志:/var/log/system.log,发现一大堆php-fpm crash的日志:

php-fpm[9257]: dyld: lazy symbol binding failed: Symbol not found: _mmc_queue_pop
          Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20121212/memcache.so
          Expected in: flat namespace
日志里面指名道姓的说了是“Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20121212/memcache.so”的问题。

对了,就是memcache扩展的问题,然后该到解决问题的时候了,重新编译php的memcache扩展还是不行。

折腾了许久,最后发现我的memcache原来是从官网下的beta版,重新下载一个stable版本编译安装一下问题就OK了。