phpMyAdmin白屏主因是PHP错误被屏蔽:需开启display_errors和error_reporting,验证mysqli扩展启用及版本兼容,检查session.save_path权限与磁盘空间,并确保config.inc.php语法正确无BOM。
白屏时先看 PHP 错误是否被屏蔽
phpmyadmin 白屏最常见原因是 php 报错但被 display_errors 关闭,导致页面空内容输出。不是配置失败,而是错误直接被吞掉。
- 检查
php.ini中display_errors = On和error_reporting = E_ALL是否生效(重启 PHP 服务后才生效) - 临时在
config.inc.php顶部加ini_set('display_errors', '1'); error_reporting(E_ALL);,再刷新 - 若出现类似
Fatal error: Uncaught TypeError: mysqli_real_escape_string():这类报错,说明底层扩展或版本不兼容,不是配置问题
mysqli 扩展未启用或版本不匹配
phpMyAdmin 4.9+ 默认依赖 mysqli,且要求 PHP 7.1+;若服务器用的是 PHP 8.2 但没装 php-mysqlnd 或只启用了 mysql(已废弃),就会静默失败。
- 运行
php -m | grep -i sql确认mysqli和pdo_mysql在列表中 - 在 phpinfo() 页面搜索
mysqli.version,确认值非空;若显示mysqlnd 8.2.0是正常的,显示5.0.11可能是旧客户端库冲突 - Debian/Ubuntu 上执行
sudo apt install php-mysql(不是php-mysqli);CentOS/RHEL 用sudo yum install php-mysqlnd
session.save_path 不可写或磁盘满
phpMyAdmin 启动时会尝试写 session 文件,路径不对或权限不足会导致空白响应,且无日志提示。
- 查当前设置:
php -r "echo ini_get('session.save_path');",然后ls -ld $(php -r "echo ini_get('session.save_path');") - 常见错误路径如
/var/lib/php/sessions,需确保 web 用户(如www-data或apache)有写权限 - 用
df -h检查对应分区是否 100% 满——哪怕只差几 KB,session_start() 也会静默失败 - 临时改到可写目录测试:在
config.inc.php前加ini_set('session.save_path', '/tmp');
config.inc.php 中 $cfg['Servers'] 配置项缺失或格式错误
白屏不一定来自数据库连接失败,更可能是配置解析阶段出错。比如漏了 $cfg['Servers'][1]['host'],或用了中文引号、BOM 头、末尾多余逗号。
- 用
php -l config.inc.php检查语法——很多白屏根本不是运行时错误,而是 parse error - 确认所有数组键用英文单引号,值不含 UTF-8 BOM(用
file -i config.inc.php查编码,用sed -i '1s/^\xEF\xBB\xBF//' config.inc.php清 BOM) - 如果只配了一台服务器,必须用索引
[1],不能写[0]或空数组;$cfg['Servers'][1]['auth_type']必须是'cookie'、'config'或'http'之一
真正卡住的地方往往不在连接逻辑本身,而在加载配置、初始化 session 或扩展依赖这些前置环节。盯住 PHP 错误日志(不是 Apache 日志)、确认 mysqli 真的可用、检查 session 目录权限——这三步走完,80% 的白屏就定位到了。
立即学习“PHP免费学习笔记(深入)”;



















