PHP与MySQL 9的兼容性

PHP与MySQL 9的兼容性

💡 原文英文,约400词,阅读约需2分钟。
📝

内容提要

MySQL 9删除了旧的mysql_native_password插件,需要使用支持caching_cha2_password插件的较新版本PHP与之兼容。测试表明,PHP 7.4.33、8.0.30、8.1.29、8.2.21和8.3.9与MySQL 9兼容。建议升级PHP版本以获得更好的MySQL和PHP编码体验。

🔎

延伸解读

兼容性测试的具体版本

文章通过实际测试列出了与MySQL 9兼容的PHP版本,包括7.4.33、8.0.30、8.1.29、8.2.21和8.3.9。这些版本均能成功连接MySQL 9.0.0,而更早的版本如7.2.24、7.2.34和7.3.33则因不支持caching_sha2_password插件而连接失败。这为开发者提供了明确的升级目标。

旧版PHP连接失败的原因

测试显示,PHP 7.2和7.3版本在连接MySQL 9时会触发警告,提示服务器请求了客户端未知的认证方法caching_sha2_password,导致连接失败。这是因为MySQL 9移除了旧的mysql_native_password插件,而旧版PHP的mysqli扩展尚未支持新的默认认证插件。

升级PHP的实用建议

文章建议升级遗留代码到较新的PHP版本,以获得更好的MySQL和PHP编码体验。对于仍在使用PHP 7.2或7.3的项目,升级到7.4.33或更高版本是连接MySQL 9的必要步骤。这不仅能解决兼容性问题,还能利用新版本PHP的性能改进和安全更新。

❓

Q&A

MySQL 9中删除了哪个插件?

MySQL 9删除了旧的mysql_native_password插件。

使用MySQL 9需要什么版本的PHP?

使用MySQL 9需要支持caching_sha2_password插件的较新版本PHP。

哪些PHP版本与MySQL 9兼容?

与MySQL 9兼容的PHP版本包括7.4.33、8.0.30、8.1.29、8.2.21和8.3.9。

为什么建议升级PHP版本?

建议升级PHP版本以获得更好的MySQL和PHP编码体验。

如果使用旧版本的PHP连接MySQL 9会发生什么?

使用旧版本的PHP连接MySQL 9会出现认证方法未知的错误。

如何测试PHP与MySQL 9的连接?

可以通过运行PHP脚本来测试连接,确保使用兼容的PHP版本。

🏷️

标签

➡️

继续阅读