php 没有coredump文件怎么办?如何查看php-fpm core dump 文件的错误?

开启php的coredump输出,修改ulimit -c就可以了,但是很多情况下,会提示权利受限,无法修改

[fukun@10.16.29.xxx]$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 30678
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 32768
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
$ ulimit -c unlimited
-bash: ulimit: core file size: cannot modify limit: Operation not permitted

解决方案:

1.检查配置

看看shell配置里有没有 ulimit -c 0 这种类似的关闭的操作,例如

$HOME/.bash_profile 或者 $HOME/.bashrc 之类的,如果有,注释掉。
#
# Do not produce core dumps
#
# ulimit -c 0

2. 全局coredump开启

使用root用户,修改 /etc/security/limits.conf

# /etc/security/limits.conf
#
# Each line describes a limit for a user in the form:
#
# <domAIn> <type> <item> <value>
#
* soft core unlimited

3.退出并从新登录shell,修改配置

ssh fukun@10.16.29.xxx
[fukun@10.16.29.xxx]$ ulimit
-c
0

先切换成root用户进行设置

su -
ulimit -c unlimited
ulimit -c
unlimited

然后切换回自己的用户进行设置

su - fukun
ulimit -c unlimited
ulimit -c
unlimited

以上3步有可能不是必须的,但是只要按这个步骤来,肯定能设置成功,在其它方法设置不成功的时候,按这个步骤来试试把。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。