2013年8月17日星期六

PHP 502 分析一例


2013/04/01 15:58:17 [error] 10807#0: *7548444 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 119.145.139.232, server: huodong.56.com, request: "GET /2012/monitor/index.php?action=Admincp&do=Charts&task_id=495 HTTP/1.1", upstream: "fastcgi://unix:/home/php/php.socket:", host: "huodong.56.com"
 
其它页面正常,这个页面一访问就 502  nginx 错误日志部分如上面:
 
真是邪气,php-fpm log 但有502 时候,出现
 
Apr 01 21:01:15.818307 [NOTICE] fpm_got_signal(), line 48: received SIGCHLD
Apr 01 21:01:15.818336 [WARNING] fpm_children_bury(), line 215: child 20193 (pool default) exited on signal 11 SIGSEGV after 0.008155 seconds from start
Apr 01 21:01:15.818532 [NOTICE] fpm_children_make(), line 352: child 20221 (pool default) started
Apr 01 21:01:15.829053 [NOTICE] fpm_got_signal(), line 48: received SIGCHLD
Apr 01 21:01:15.829081 [WARNING] fpm_children_bury(), line 215: child 20121 (pool default) exited on signal 11 SIGSEGV after 0.035884 seconds from start
 
 
后面把php-fpm.conf 文件中的log 级别调整到 debug  级别,终于看到了一些蛛丝马迹:
 
[01-Apr-2013 20:53:52] PHP Warning:  PHP Startup: Invalid library (maybe not a PHP library) 'gd.so'  in Unknown on line 0
[01-Apr-2013 20:53:53] PHP Warning:  PHP Startup: Invalid library (maybe not a PHP library) 'gd.so'  in Unknown on line 0
[01-Apr-2013 21:01:14] PHP Warning:  imagepng() [<a href='function.imagepng'>function.imagepng</a>]: gd-png:  fatal libpng error: Incompatible libpng version in application and library in /diska/webadm/special/huodong/2012/monitor/draw.php on line 219
[01-Apr-2013 21:01:15] PHP Warning:  imagepng() [<a href='function.imagepng'>function.imagepng</a>]: gd-png:  fatal libpng error: Incompatible libpng version in application and library in /diska/webadm/special/huodong/2012/monitor/draw.php on line 219
 
 
看起来是库文件的版本有冲突,编译时候的版本和使用的版本不一致原因,这个必须得重新装了。找到错误,解决问题就不是难事了。

没有评论:

发表评论