【问题标题】:How can mysql_connect function be supported in php7.0 by using a patchphp7.0如何通过补丁支持mysql_connect功能
【发布时间】:2018-08-30 05:51:44
【问题描述】:

我正在运行在支持 mysql_connect 的 php5 上运行的代码,并且我已迁移到具有 php7.0 的另一台服务器。我意识到 php7.0 不再支持 mysql_connect 但它支持 mysqli_connect。我不想回去编辑代码,也不想回到 php5。我知道可以安装一个支持 mysql_connect 的补丁,但我不知道该怎么做。我使用的是 ubuntu 服务器 16.04。

【问题讨论】:

  • 我认为那里没有任何类型的patch 可用
  • 你为什么要后退这么大的一步?不再支持mysql_connect是非常好的和合理的......另外请阅读这个stackoverflow.com/help/how-to-ask
  • 原因是,我们正在转向进一步的java开发,我们将不再使用php。然而,php 中的现有应用程序需要继续运行并返回到代码中进行编辑似乎是一种浪费的努力。我只需要一个运行旧代码的php7.0的临时支持环境。我知道可以使用支持 mysql_connect 功能的补丁,但我不知道该怎么做。
  • 为什么不再使用 PHP 5.6?
  • 我想受益于php7的新特性和性能。

标签: php compatibility patch mysql-connect


【解决方案1】:

为了这些目的,正好有这个包:https://github.com/dshafik/php7-mysql-shim

要使其在不修改代码的情况下工作,您可以将其包含在auto_prepend_file php.ini 指令中

【讨论】:

    【解决方案2】:

    由于某种原因,现代 PHP 版本不再支持mysql_connect

    我真的推荐你使用PDOs

    这里有一个非常棒的详细教程:https://phpdelusions.net/pdo

    【讨论】:

    • 你的意思是mysql_connect was removed
    • 是的 mysql_connect 在新的 php 版本中被删除。但是有一种向后兼容的方式。
    • 但是为什么呢?它是过时的。您可以使用新技术 - 例如PDOs
    • 谢谢克里斯蒂安,我明白你的意思。但是,我是基础架构人员,而不是开发人员。我可以看到 PDO 需要进入代码文件并进行编辑,这是我避免的。我只想看到未修改的现有代码在新环境中运行,因为这是一个临时解决方案,因为开发人员正忙于转向 java。
    猜你喜欢
    • 2012-07-02
    • 1970-01-01
    • 2011-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多