**
php iconv() 在linux类系统locale设置有问题情况下导致php-fpm exited on signal 11 (SIGSEGV)
**
起因
因为服务器系统还是使用的centos7,然后现在是一个完全停止服务状态,国内的镜像点也纷纷关闭了。
也不记得是不是把源改成了现在唯一能用的http://vault.centos.org/7.9.2009/os/$basearch/然后运行了一下yum update
然后再然后感觉不对劲了,控制台报错:LC_ALL 无法设置成 zh_CN.utf8 了
然后使用各种命令都会显示语言环境设置错误,后面临时把LC_ALL设成C了暂时用着。
现在我的locale就变成了这样(将就用,有大佬知道怎么修复的,一定要告诉我啊):
LANG=en_US.UTF-8
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C
然后,运行于这服务器上的nginx就开始在一个网站上报502了
分析思路
nginx报502 ,我都不想去看nginx日志,跟它关系不大,上游停止服务,我的服务器是nginx → php-fpm →mysql
那上游就是php-fpm了,php报错:
看不到,再看看系统内核的:
shell 运行 dmesg :
traps: php-fpm[44605] general protection fault ip:7f24ffc00b1e sp:7fff73b004d0 error:0 in GBK.so[7f24ffc00000+1b000]
[244495.783809] php-