Web应用程序已完成,所有系统都在运行,可能无法使用新功能进行增强,因此我的问题是:我是否应该花些时间更改所有MysqL_ *调用并使用MysqLi_ *调用切换它们.如果我将所有内容都放在已弃用的MysqL_ *扩展名中,我的应用程序是否会在互联网上无法访问?
Is my application ever going to become inaccessible on the internet if I leave everything with the deprecated MysqL_* extension?
只有当运行它的服务器升级到不支持旧API的PHP版本时,您的应用程序才会中断.如果您的服务器未升级到PHP 5.5,那么您的应用程序将无限期地继续运行.在这方面,外部互联网上的任何其他内容都不会影响它;只升级到您自己的服务器是相关的.
目前,PHP 5.4仍然受到积极支持,因此您可以愉快地继续使用该版本,而无需担心您的代码突然崩溃.
但是,在将来某个时候,由于某种原因,您需要升级到PHP 5.5或更高版本. PHP 5.4将成为寿命终止,并建议迁移到5.5.或者,如果您使用的是共享主机帐户,您甚至可能对PHP版本没有任何选择.所以,是的,您应该期望当前的代码不能使用您当时使用的PHP版本.最终.
因此,尽管没有迫切需要进行转换,但您应该尽快考虑这样做.你不想要的一件事是当事情破裂的那一天,并发现自己陷入困境.
5.5刚刚发布,所以你可能有几年才能成为可用的最低版本,但请接受我的建议;你不想等到最后一刻.
Should I take some time and change all the MysqL_* calls and switch them with MysqLi_* calls.
你说你的应用程序“非常强大”,“可能不会增强”.所以它基本上处于长期维护阶段.
鉴于这些标准,我会说是的,简单地切换到MysqLi lib是一个明智的举动.所需的更改非常简单(听起来您已经掌握了已经完成的操作),并且对其余软件几乎没有任何影响.
如果你的代码真的很健壮并且编写得很好,那么你的结构就会有一种类型的数据库层,这意味着你无论如何都没有多少工作要做.
如果结构不太好,可能会在代码周围散布很多MysqL_query()调用,在这种情况下可能需要更多的工作.在这种情况下,既然您正在处理代码,您可能会考虑花时间进行一些重组.创建数据库层.也许开始使用预备语句.我还建议切换到PDO而不是MysqLi.但是你的电话 – 考虑到你在问题中所说的话,如果你想做尽可能少的工作,这是可以理解的.
顺便说一句 – 如果你还没有这样做,你可能也想读这个:Why shouldn’t I use mysql_* functions in PHP?