进程退出码 139 = 128 + 11,其中 128代表信号终止,11 对应的是 SIGSEGV 信号(段错误):
进程访问了不属于自己的内存地址(比如空指针、数组越界、内存溢出)
内存访问权限异常(比如写只读内存)

php -m
[PHP Modules]
amqp
bcmath
Core
ctype
curl
date
dom
fileinfo
filter
ftp
gd
gettext
hash
iconv
igbinary
intl
json
libxml
mbstring
mongodb
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
random
redis
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
sqlite3
standard
swoole
sysvsem
tokenizer
xlswriter
xml
xmlreader
xmlwriter
zip
zlib
[Zend Modules]
# 1. 临时开启核心转储 当前终端生效
ulimit -c unlimited
# 2. 设置核心转储文件的保存路径 我是放在项目根目录下
mkdir -p ./core_dump
echo "./core_dump/core-%e-%p-%t" > /proc/sys/kernel/core_pattern
# 3.当再次出现 139 错误时 会在 core_dump 目录生成核心文件,然后用 gdb 分析 (提前安装gdb)
gdb /usr/bin/php ./core_dump/core-webman-3646384-1769570816
文件生成如图1,gdb分析如图2
图1:
图2:
图2结果扔给AI,大概意思是:AMQP 扩展(RabbitMQ 相关)的空指针访问导致进程崩溃。升级amqp为最新版本2.2.0 解决139问题