mysqli扩展未加载是phpMyAdmin白屏最常见原因,因其启动时检测失败会静默退出;需通过phpinfo()确认Web SAPI实际加载的php.ini路径,Windows取消;extension=mysqli注释、Linux安装对应版本php-mysqli、Docker执行docker-php-ext-install mysqli,并重启对应服务验证。
mysqli 扩展未加载是白屏最常见原因
页面打开就空,连错误提示都没有,大概率是 php 根本没加载 mysqli 扩展。phpmyadmin 启动时检测不到它,直接静默退出,不输出任何 html。
验证方式很简单:php -m | grep mysqli 在命令行跑一下——没输出就坐实了。但注意:CLI 模式下的结果不能代表 Web 环境,你得确认 Web SAPI(比如 Apache 或 PHP-FPM)实际加载的是哪个 php.ini。最靠谱的方法是建个 info.php 放 Web 目录下,内容只写 <?php phpinfo(); ?>,浏览器打开后搜 “Loaded Configuration File”。
- Windows 用户常漏掉
php.ini里;extension=mysqli前的分号,要删掉 - Linux(如 Ubuntu)别装
php-mysql,得装对应版本的php-mysqli(例如php8.1-mysqli) - Docker 镜像默认不带
mysqli,必须加docker-php-ext-install mysqli - 改完配置后,Apache 要
sudo systemctl restart apache2,PHP-FPM 要sudo systemctl restart php*-fpm
memory_limit 被 phpMyAdmin 自己覆盖了
就算你在 php.ini 里设了 memory_limit = 1024M,phpMyAdmin 4.9+ 仍可能在启动时用 ini_set('memory_limit', '512M') 把它拉低——这不是建议,是强制执行。
它通常藏在 libraries/vendor_config.php(旧版)或 libraries/classes/Util.php(新版)里。不推荐直接改源码,升级就丢;更稳妥的是在 config.inc.php 顶部加一行:
ini_set('memory_limit', '1024M');
但必须确保这行在 require 或 include phpMyAdmin 核心文件之前执行,否则无效。
立即学习“PHP免费学习笔记(深入)”;
- PHP-FPM 场景下还要核对池配置(如
/etc/php/*/fpm/pool.d/www.conf),php_admin_value[memory_limit]的优先级高于php.ini - 白屏未必单是内存问题,
output_buffering设太小(比如 0 或 2048)会导致响应截断,也表现为空白页 -
max_execution_time过短(如默认 30 秒)会让大库加载中途被 kill,需同步调高到至少 300
宝塔或 Nginx + PHP-FPM 下端口与权限陷阱
在宝塔面板里访问 http://IP:888/phpmyadmin 白屏,八成不是 phpMyAdmin 没装好,而是请求压根没进到 PHP 实例里。
先看宝塔左侧「安全」→「放行端口」有没有 888;再查云服务器厂商的安全组是否也开了这个端口。这两处没放行,浏览器连连接都被拒绝,根本不会触发 PHP 层错误。
- 宝塔软件商店里点开 phpMyAdmin →「设置」→「PHP 版本」必须手动选一个「正在运行」且已启用
mysqli和mbstring的版本 - Nginx 报 502 时,检查
fastcgi_pass是否指向了正确的 PHP-FPM socket 或端口,比如127.0.0.1:9000或unix:/run/php/php8.1-fpm.sock - CentOS 下若看到 Nginx 错误日志里有
/var/tmp/nginx/fcgi/ permission denied,执行chown -R www:www /var/tmp/nginx/fcgi/
PHP 版本与 phpMyAdmin 版本不兼容
不是所有 phpMyAdmin 都能跑在 PHP 8.2 上。比如 phpMyAdmin 4.4 最高只支持到 PHP 7.3,硬塞进 PHP 8.0+ 环境里,连初始化都失败,页面就空着。
查官方兼容表比猜更省时间:phpMyAdmin 5.2 要求 PHP ≥ 7.3,phpMyAdmin 5.1 要求 PHP ≥ 7.2,而 phpMyAdmin 4.9 是最后一个支持 PHP 5.6 的版本。
- WAMP 用户遇到白屏,先试把 PHP 切回 7.4;宝塔用户可在「软件管理」里切换已安装的 PHP 版本再绑定
- 换版本后务必清浏览器缓存,或用无痕窗口访问,避免旧 JS/CSS 缓存干扰
- 如果改过
config.inc.php或自定义过blowfish_secret,临时重命名该文件,让 phpMyAdmin 用默认配置启动一次,排除配置损坏可能
白屏真正麻烦的地方在于它不报错——错误被吞掉了,日志又常被关着。最有效的排查路径是:先看 PHP 错误日志里有没有 Allowed memory size exhausted 或 Unable to load dynamic library 'mysqli',再顺着线索去查配置生效位置,而不是凭感觉改一堆地方。



















