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