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

MySQL升级后添加JSON列致phpMyAdmin浏览功能崩溃求助

问题原因分析

出现Apache段错误+MySQL连接中断的情况,核心原因大概率是PHP扩展与MySQL/PHPMyAdmin的兼容性问题,具体可能的点:

  • PHP版本或mysqli扩展不匹配:phpMyAdmin 4.8.x要求PHP 5.5~7.2版本,且如果你的mysqli扩展是基于旧的libmysqlclient编译的,它对MySQL 5.7新增的JSON类型处理存在bug,容易触发内存访问错误导致段错误。
  • phpMyAdmin缓存或配置冲突:升级phpMyAdmin后,旧的缓存文件(比如表结构缓存)可能残留,或者配置文件里还在用废弃的mysql扩展而非mysqli,导致处理JSON列时逻辑异常。
  • phpMyAdmin 4.8.x的已知bug:部分环境下,4.8.x版本在格式化JSON列数据时存在内存溢出问题,触发Apache子进程崩溃。
分步解决方案

1. 排查PHP环境兼容性

  • 检查PHP版本:执行php -v命令查看版本,确保在5.5.0~7.2.x之间(phpMyAdmin 4.8.x的官方要求),如果版本超出范围,要么升级/降级PHP,要么更换对应版本的phpMyAdmin。
  • 确认mysqli扩展类型:创建一个php文件写入<?php phpinfo(); ?>,访问后查找mysqli模块的Client API library version,优先使用mysqlnd类型;如果是libmysqlclient,建议切换到mysqlnd(大部分Linux发行版可通过安装php-mysqlnd包替换)。

2. 修复phpMyAdmin配置与缓存

  • 检查配置文件:打开phpMyAdmin的config.inc.php,确保存在这行配置:
    $cfg['Servers'][$i]['extension'] = 'mysqli';
    
    不要使用已废弃的mysql扩展,它完全不支持JSON类型。
  • 清除缓存:找到phpMyAdmin安装目录下的tmp文件夹,删除里面所有文件;或者登录phpMyAdmin后,点击顶部「设置」→「常规」→「清除缓存」。
  • 临时关闭JSON格式化:登录phpMyAdmin后点击「设置」→「浏览」,取消勾选「将JSON数据显示为格式化的」选项,保存后再尝试访问「浏览」标签。

3. 调试与替代方案

  • 启用PHP错误日志:在php.ini中设置log_errors = On和error_reporting = E_ALL,触发错误后查看PHP日志,能定位到具体报错的函数或模块。
  • 验证MySQL本身:通过MySQL命令行执行SELECT * FROM 你的表名;,如果能正常读取JSON列数据,说明MySQL无问题,故障完全在PHP/phpMyAdmin侧。
  • 更换phpMyAdmin版本:如果上述方法无效,可尝试降级到phpMyAdmin 4.7.x(同样支持JSON列,兼容性更稳定),或升级到4.9.x(需PHP版本支持),新版本可能修复了段错误bug。

内容的提问来源于stack exchange,提问作者marcvander

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:27:45