centos Apache “子进程 pid *** 退出信号:段错误 (11)” 在错误日志中

0 投票
3 回答
3340 浏览
提问于 2025-04-17 17:28

我在我的Apache日志文件中看到很多“Child pid XXXX exit signal Segmentation fault (11)”的错误信息。

我尝试了这里提供的解决方案,但没有找到错误的原因。

请帮我理解这个错误,它似乎和Python 2.4有关。

补充一下,这个产生错误的网站完全是用PHP写的。

以下是gdb的结果:

Continuing.

Program received signal SIGSEGV, Segmentation fault.
PyErr_Restore (type=0x2b8ef0870aa0, value=0x2b8ee5d92d40, traceback=0x0) at Python/errors.c:39
39      Python/errors.c: No such file or directory.
        in Python/errors.c
(gdb) backtrace full
#0  PyErr_Restore (type=0x2b8ef0870aa0, value=0x2b8ee5d92d40, traceback=0x0) at Python/errors.c:39
        tstate = 0x0
        oldtype = <value optimized out>
        oldvalue = <value optimized out>
        oldtraceback = <value optimized out>
#1  0x00002b8ef05b9537 in PyErr_SetString (exception=0x2b8ef0870aa0, string=<value optimized out>) at Python/errors.c:70
        value = 0x2b8ee5d92d40
#2  0x00002b8ef05c91b3 in PyModule_AddObject (m=0x2b8efb47ac20, name=0x2b8ef4b25890 "accept2dyear", o=0x2b8efba963d8)
    at Python/modsupport.c:598
        dict = <value optimized out>
#3  0x00002b8ef05c9227 in PyModule_AddIntConstant (m=0x2b8efb47ac20, name=0x2b8ef4b25890 "accept2dyear", value=<value optimized out>)
    at Python/modsupport.c:628
        o = 0x2b8efba963d8
#4  0x00002b8ef4b25767 in inittime () from /usr/lib64/python2.4/lib-dynload/timemodule.so
No symbol table info available.
#5  0x00002b8ef269a02d in _PyImport_LoadDynamicModule () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
#6  0x00002b8ef269853d in ?? () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
#7  0x00002b8ef2698a5b in ?? () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
#8  0x00002b8ef2698bc7 in PyImport_ImportModuleEx () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#9  0x00002b8ef26793a3 in ?? () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
#10 0x00002b8ef26217e0 in PyObject_Call () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
#11 0x00002b8ef267c32d in PyEval_CallObjectWithKeywords () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
#12 0x00002b8ef267e00a in PyEval_EvalFrame () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
#13 0x00002b8ef26826d5 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
#14 0x00002b8ef2682722 in PyEval_EvalCode () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
#15 0x00002b8ef269702a in PyImport_ExecCodeModuleEx () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
#16 0x00002b8ef269756c in ?? () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
#17 0x00002b8ef269853d in ?? () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
#18 0x00002b8ef26989bc in ?? () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
#19 0x00002b8ef2698c01 in PyImport_ImportModuleEx () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
#20 0x00002b8ef26793a3 in ?? () from /usr/lib64/libpython2.4.so.1.0
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#21 0x00002b8ef26217e0 in PyObject_Call () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
#22 0x00002b8ef2622433 in PyObject_CallFunction () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
#23 0x00002b8ef2698fd8 in PyImport_Import () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
#24 0x00002b8ef2699185 in PyImport_ImportModule () from /usr/lib64/libpython2.4.so.1.0
No symbol table info available.
#25 0x00002b8ef23d3b71 in ?? () from /etc/httpd/modules/mod_python.so
No symbol table info available.
#26 0x00002b8ef23d403d in ?? () from /etc/httpd/modules/mod_python.so
No symbol table info available.
#27 0x00002b8ee72e869d in ?? () from /usr/lib64/libapr-1.so.0
No symbol table info available.
#28 0x00002b8ee72e8cce in apr_pool_destroy () from /usr/lib64/libapr-1.so.0
No symbol table info available.
#29 0x00002b8ee5a2bf0e in ?? ()
No symbol table info available.
#30 0x00002b8ee5a2c3bb in ?? ()
No symbol table info available.
#31 0x00002b8ee5a2c57a in ?? ()
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#32 0x00002b8ee5a2cddd in ap_mpm_run ()
No symbol table info available.
#33 0x00002b8ee5a06fd8 in main ()
No symbol table info available.

谢谢

3 个回答

0

检查一下你的 PHP-FPM 和 PHP 的版本是否一致。确保你的 PHP 和 PHP-FPM 的配置是正确的,并且它们的版本是匹配的。

PHP-FPM 的配置文件在 /etc/php/7.0/fpm,而 PHP 的版本可能在更新时出现了不同步的情况。更新后的 PHP(在 /etc/php/7.3/)可能会导致 Apache 的子进程崩溃,因为在 /etc/php/7.3/ 中缺少对应的 PHP-FPM 配置。

你可以查看这个链接了解更多信息:“[notice] child pid XXXX exit signal Segmentation fault (11)” in apache error.log

0

我的服务器团队通过重新编译Apache解决了这个问题。

他们使用了命令:SSH

/scripts/easyapache

然后就好了。

在此之前,我的网站是空白的。

希望这能帮到你。

0

今天我找到了我问题的解决办法,原来是因为一个Python模块。我把它删掉了,问题就解决了。

我不知道那是不是个旧版本什么的,但反正现在问题解决了。

撰写回答