PHP 7中的MySQL支持

3

我有一个使用php5.5开发的大型产品,因此查询是使用mysql编写的。

由于PHP 7及以上版本已经不再支持mysql,现在我被迫改用mysqli,但这将花费我太多时间。

是否有临时解决方案可以让mysql查询在PHP 7下继续运行?因为我计划迁移至mysqli,但在此期间需要让代码在PHP 7 + mysql下工作。


我不能降级到5.6,因为5.6的性能真的很差,5.6存在许多性能问题。 - StormTrooper
但这是目前(依我之见)你唯一的选择,因为你正在使用MySQL。我们也正在升级到PHP7,但在所有东西都能正常工作之前,我们仍然被困在PHP5.6中。 - hungrykoala
似乎你仍然可以安装MySQL 请查看此处 - hungrykoala
你能在迁移代码完成之前使用PHP 5.5,然后再使用PHP 7吗? - Cedric
最佳操作方法是使用一个shim/polyfill- 查看此库 - N.B.
显示剩余2条评论
1个回答

3
你可以重新创建mysql函数并在其中使用mysqli。虽然不太优雅,但这是一种有效的解决方案,能够快速地解决问题,直到你能够重构应用程序。
例如:
function mysql_connect($host, $username, $password, $db) {
    return mysqli_connect($host, $username, $password, $db);
}

function mysql_query($query){
    return $mysqli_query($query);
}

这是正确的答案。除此之外,没有人应该在生产中这样做。所有带有“5.6不是选项”的回答和评论都是错误的。虽然这样做不是最佳选择,但它是一个可行的选项。 - Brain Foo Long
是的,我也想到了这样的事情,但是我该如何使这些函数在整个网站上都可用?我应该把这些函数放在哪里? - StormTrooper
如果我没有弄错的话,函数似乎没有像类一样的自动加载系统,您需要在代码需要它的任何地方“require”包含这些函数的文件。 - SeekDaSky
@syscall 这是我太过匆忙,没有测试就进行修改 :) - Fels
抱歉,请测试您的代码:$mysqli_query()?这里的 $ 是什么意思?mysqli_query() 要求第一个参数是 $link - Syscall

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接