我知道 PHP 的mysql_*
函数已被弃用,我不应该使用它们。
然而,我们有几个遗留的 MySQL 4.0 数据库,无论是函数mysqli_*
还是PDO
函数都不支持连接到这些数据库。继续使用最新的 PHP 版本并仍然能够连接到这些数据库的最佳方法是什么?
(根据 PDO 介绍页面顶部的描述,我最初认为 PDO 可能是一个选项,但页面下方的变更日志表明 PHP 5.4 已放弃对 pre-4.1 的支持)
我知道 MySQL 4.0 已经 10 年了,这里真正的问题是我们仍在使用它。升级 MySQL 是一个单独的问题,超出了我的影响范围和这个问题的范围。我可以控制的是我们使用的 PHP 版本——我不想仅仅因为我们需要连接到一些旧的数据库而不得不停止升级 PHP。
甚至 PDO 也将不再连接到这些旧的 MySQL 服务器。
我还应该澄清一下,我们有几个遗留应用程序访问这些数据库,我们希望尽可能少地更改这些应用程序。他们没有进行积极的开发,并且测试涉及重写大部分代码的更改将很快膨胀成一个相当大的 QA 项目。
出于这个原因,重写代码或升级 MySQL 版本等侵入性解决方案不太可能是值得的。如果它们是唯一可用的解决方案,我们可能最终什么都不做 -mysql_*
尽可能长时间地使用,然后在最新的 PHP 无法再连接时立即冻结 PHP 版本(至少对于这些应用程序)。
另一方面,技术上复杂的解决方案(例如从头开始编译)绝对是可能的,并且实际上比进行大量代码更改更可取。