如何解决phpMyAdmin界面的Deprecated警告_错误报告级别修改

大晨吖_4838

大晨吖_4838

2026-03-22

185人浏览

原创

phpMyAdmin 4.x 及更早版本因依赖已移除的 mysql_* 函数,无法在 PHP 8.1+ 正常运行;必须升级至 5.2+ 版本并手动迁移 config.inc.php 配置,否则将出现致命错误或功能异常。

PHP 8.1+ 中 mysql_connect 类函数已被移除,但 phpMyAdmin 还在用旧扩展

phpmyadmin 出现 deprecated: mysql_connect(): the mysql extension is deprecated and will be removed in the future 这类警告,根本原因不是 php 配置错了,而是你正在用新版 php(尤其是 8.1+)跑一个没适配的 phpmyadmin 版本。老版本 phpmyadmin(如 4.x)依赖已废弃的 mysql_* 函数,而 php 7.0 就已弃用,8.0 起彻底删除 —— 所以哪怕你调低了 error_reporting,底层调用本身就会触发致命错误或空白页。

  • 检查当前 phpMyAdmin 版本:cat /path/to/phpmyadmin/VERSION,若显示 4.9.x 或更低,基本确定是兼容性问题
  • PHP 8.0+ 环境下,mysql_* 函数已不存在,extension=php_mysql.dll(Windows)或 extension=mysql.so(Linux)这类配置直接失效甚至报错
  • 强行屏蔽警告(比如改 error_reporting)只是掩耳盗铃:页面可能卡在登录页、无法加载数据库列表、执行 SQL 时白屏

升级 phpMyAdmin 到 5.2+ 是唯一可靠解法

phpMyAdmin 5.0 开始全面切换到 mysqli 和 PDO,5.2+ 已官方支持 PHP 8.2。别试图打补丁或回退 PHP 版本——维护成本远高于升级本身。

  • 下载地址必须认准官方:https://www.phpmyadmin.net/downloads/,避免第三方打包版(常混入旧版或修改过的 config.inc.php)
  • 升级前备份好 config.inc.php,新版不再自动读取旧配置;特别注意 $cfg['Servers'][$i]['auth_type'] 和 $cfg['blowfish_secret'] 这两项必须手动迁移
  • 如果用的是 Docker,别改镜像里的 /var/www/html/phpmyadmin,直接换镜像标签,例如从 citec/phpmyadmin:4.9 换成 phpmyadmin/phpmyadmin:5.2
  • Apache/Nginx 需确认 php-mysql 或 php-mysqli 已启用:php -m | grep -i mysql 应输出 mysqli 和 pdo_mysql

error_reporting 和 display_errors 只能临时藏错,不能治病

有人在 php.ini 里把 error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE,或者在 config.inc.php 开头加 error_reporting(0)。这会让警告消失,但掩盖了更严重的问题:

  • PHP 8.1+ 下,mysql_connect() 调用会直接抛出 Fatal error: Uncaught Error: Call to undefined function mysql_connect(),此时 error_reporting 设置完全无效
  • 即使降级到 PHP 7.4,关闭警告后,连接失败、查询无返回、权限校验跳过等静默故障会更难定位
  • 某些共享主机禁止修改 php.ini,你在 .htaccess 里写 php_flag display_errors off 只影响 Apache 模块模式,CLI 或 FPM 下不生效

确认是否真解决了?看三处日志和行为

升级完别急着点“服务器”页签,先验证底层通路是否真正打通:

  • 打开浏览器开发者工具 → Network 标签,刷新 phpMyAdmin 页面,找 ajax.js.php 或 import.php 请求,状态码应为 200,响应体不应含 Deprecated 或 Call to undefined function
  • 登录后点「新建」→「数据库」,输入名点创建,成功后立刻看 PHP 错误日志:tail -f /var/log/php/error.log(路径依环境而定),不应出现任何 mysql 相关 warning/fatal
  • 执行一条简单 SQL,如 SELECT VERSION();,结果栏上方应显示类似 MySQL 服务版本:8.0.33,而不是空、报错或卡住

最易被忽略的是:phpMyAdmin 升级后,如果还连着旧的 config.inc.php,它可能悄悄 fallback 到 controluser 认证模式,而该用户权限不足,导致“看起来能进首页,但点任何数据库都 403”。这时候错误不在 PHP 层,而在 MySQL 的用户权限配置里。

php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2023.09.01

11264

6

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.11

6541

5

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.11

2155

5

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

2023.10.23

4128

4

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

2023.10.23

4854

6

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.03

3811

9

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.09

5477

8

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.13

4282

8

sprintf函数用法详解
sprintf函数用法详解

sprintf函数的用法:1、格式化字符串;2、指定输出宽度和精度;3、返回值。更多关于sprintf函数用法详解的内容,大家可以阅读下面的文章。

2023.11.27

12242

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.9万人学习