core dump
简单介绍下,如何对php-fpm进行调试。也可以看官方说明。
首先一点,需要打开debug参数,如果编译的时候没有打开,需要重新编译,编译时添加参数:
--enable-debug
设置内核core dump出来的存放路径(注意目录要有权限给php写):
echo "/tmp/core.%e.%p.%t" > /proc/sys/kernel/core_pattern
设置core dump出来的文件大小不做限制:
ulimit -c unlimited
关闭core dump只需要将大小限制为0就不会输出了:
ulimit -c 0
获得core dump文件,用gdb进行调试,比如:
gdb /usr/local/php/sbin/php-fpm /tmp/core.php-fpm.10253.1451404800
即可看到信息,找到错误原因,提交bug,或自行修复。
目前PHP 7处于Debug模式,性能下降了100%。。。
以上方法适用其他程序,不局限于php-fpm。