今天打开网站发现网站所有页面都报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了。