You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

提交MediaWiki编辑时PHP-FPM子进程因Signal 11崩溃求助

PHP-FPM子进程提交MediaWiki编辑时因SIGSEGV(Signal 11)崩溃

环境配置

  • PHP 8.2.26 (fpm+fcgi)
  • Nginx 1.22.1
  • PostgreSQL 15
  • MemCached 1.6.18
  • Debian 12 Bookworm
  • MediaWiki 1.43.0

问题现象

提交MediaWiki页面编辑时,PHP-FPM子进程触发Signal 11(SIGSEGV)崩溃退出,页面浏览功能正常。

相关日志信息

PHP-FPM日志

[04-Jan-2025 14:22:29] WARNING: [pool www] child 822 exited on signal 11 (SIGSEGV - core dumped) after 1623.577910 seconds from start

GDB回溯信息

(gdb) bt
#0  0x00000071e9b89af4 in ?? ()
#1  0x0000007fd56aa0d8 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

排查与修复方案

1. 排查PHP扩展兼容性问题

SIGSEGV崩溃大概率和PHP扩展内存访问错误相关,重点排查编辑操作触发的功能相关扩展:

  • 临时禁用MemCached扩展:编辑php.ini或PHP-FPM池配置文件,注释extension=memcached.so,重启PHP-FPM后测试编辑功能。若问题消失,说明MemCached扩展存在兼容性问题。
  • 更新MemCached扩展:Debian 12默认包版本可能偏旧,通过PECL安装适配PHP 8.2的最新稳定版:
    pecl install memcached
    
  • 逐一排查其他扩展:比如语法高亮、图片处理(GD/Imagick)、PostgreSQL扩展(pgsql),逐个禁用后测试,定位触发崩溃的扩展。

2. 检查MediaWiki第三方扩展

编辑操作会触发更多扩展逻辑,优先排查第三方插件:

  • 注释LocalSettings.php中所有第三方扩展的wfLoadExtension配置,保留核心功能后测试编辑。
  • 逐步重新启用扩展,定位到问题插件后,更新至适配MediaWiki 1.43.0和PHP 8.2的版本,或替换为替代插件。

3. 验证核心文件与依赖完整性

  • 重新下载MediaWiki 1.43.0官方压缩包,对比替换核心文件(保留LocalSettings.php等自定义配置),排除文件损坏问题。
  • 运行MediaWiki依赖检测脚本:
    php maintenance/check.php
    
    确保所有要求的PHP扩展已正确安装且版本兼容。

4. 系统与内存层面排查

  • 启用完整核心转储分析:在PHP-FPM配置中开启core_uses_pid = yes,生成完整core文件后,安装php8.2-dbg调试符号包,使用GDB深入分析:
    gdb /usr/sbin/php-fpm8.2 core.822
    bt full
    
  • 检查系统内存状态:通过free -h查看内存使用,dmesg排查是否存在内存不足或硬件内存故障。

5. 调整PHP版本

MediaWiki 1.43.0官方支持PHP 8.2,但部分小版本可能存在特定bug,尝试降级至PHP 8.2.24等稳定版本,或升级至最新8.2小版本,测试问题是否消失。

内容的提问来源于stack exchange,提问作者佩奇君

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 06:14:50