我正在使用旧系统开发一个前端项目。我必须访问 MySQL 5.6.25 数据库,该数据库仍在使用旧的 4.1 之前的密码加密协议。特别是,我必须编写一个 PHP/Slim api 来实现此数据库的 CRUD 操作。我必须使用 PHP 5.3。
是否可以使用旧的密码加密协议从 PHP 连接到 MySQL DB?到目前为止,我尝试了 php 扩展 mysql 和 mysqli,但它们都使用 4.1 版后的密码加密。
我知道 4.1 之前的密码加密协议非常老旧,不安全,应该升级。但这不是我在这个项目中可以控制的事情,所以我必须找到一种方法来克服这个限制。
答案1
您有没有选择不使用 mysqlnd 来重建 PHP?
如果您当前的构建正在使用它,那么它将断然拒绝与旧的身份验证方法有任何关系,并且您将在日志中收到类似“mysqlnd 无法使用旧的不安全身份验证连接到 MySQL 4.1+”的错误。如果您可以选择不使用它,则没有它的构建可能会让您通过。