昨天发现 PHP 挂了。表现就是终端下使用 php -v、或者 php -m 出现 “Segmentation fault”。FPM 的日志中也出现类似提示信息。 使用 gdb 跟踪下来出现以下内容: bash-3.2$ gdb /usr/local/bin/php GNU gdb 6.3.50-20050815 (Apple version gdb-1700.2) (Th
昨天发现 PHP 挂了。表现就是终端下使用 php -v、或者 php -m 出现 “Segmentation fault”。FPM 的日志中也出现类似提示信息。
使用 gdb 跟踪下来出现以下内容:
bash-3.2$ gdb /usr/local/bin/php
GNU gdb 6.3.50-20050815 (Apple version gdb-1700.2) (Thu May 19 20:52:02 UTC 2011)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type “show copying” to see the conditions.
There is absolutely no warranty for GDB. Type “show warranty” for details.
This GDB was configured as “x86_64-apple-darwin”…Reading symbols for shared libraries ….
warning: Could not find object file “/Volumes/work/macports/var/macports/build/_Volumes_work_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_archivers_bzip2/bzip2/work/bzip2-1.0.6/blocksort.o” – no debug information available for “blocksort.c”.warning: Could not find object file “/Volumes/work/macports/var/macports/build/_Volumes_work_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_archivers_bzip2/bzip2/work/bzip2-1.0.6/huffman.o” – no debug information available for “huffman.c”.
warning: Could not find object file “/Volumes/work/macports/var/macports/build/_Volumes_work_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_archivers_bzip2/bzip2/work/bzip2-1.0.6/crctable.o” – no debug information available for “crctable.c”.
warning: Could not find object file “/Volumes/work/macports/var/macports/build/_Volumes_work_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_archivers_bzip2/bzip2/work/bzip2-1.0.6/randtable.o” – no debug information available for “randtable.c”.
warning: Could not find object file “/Volumes/work/macports/var/macports/build/_Volumes_work_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_archivers_bzip2/bzip2/work/bzip2-1.0.6/compress.o” – no debug information available for “compress.c”.
warning: Could not find object file “/Volumes/work/macports/var/macports/build/_Volumes_work_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_archivers_bzip2/bzip2/work/bzip2-1.0.6/decompress.o” – no debug information available for “decompress.c”.
warning: Could not find object file “/Volumes/work/macports/var/macports/build/_Volumes_work_macports_var_macports_sources_rsync.macports.org_release_tarballs_ports_archivers_bzip2/bzip2/work/bzip2-1.0.6/bzlib.o” – no debug information available for “bzlib.c”.
…… done
(gdb) run -v
Starting program: /usr/local/bin/php -v
Reading symbols for shared libraries +++++++++……………………. done
Reading symbols for shared libraries …………… done
Reading symbols for shared libraries …. done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries .. done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries …… done
Reading symbols for shared libraries .. done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries .. done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries .. doneProgram received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0×0000000000000000
0x0000000102f5949e in lpmapd ()
GOOGLE 后也没找到什么解决办法。也尝试了重启机器、升级版本等手段。真是令人蛋疼。最后无意中重装了模块,发现竟然是 php5-oracle 导致的。删除掉就正常了。哎,怪上次装好模块后忘记跑一边,就关机了。后来又给忘了。所以不管啥情况,更新后马上测试还是不变的真理。
原文地址:php -v 出现 “Segmentation fault”, 感谢原作者分享。