You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过补丁让PHP7.0支持mysql_connect函数

解决PHP7.0兼容mysql_connect的实操方案

完全懂你的纠结——老代码不想改,PHP版本也不想退,这个兼容补丁确实是最省心的路子,我来给你一步步捋清楚操作步骤:

  • 第一步:安装编译依赖
    因为要编译PHP扩展,得先把必要的工具包装上,在Ubuntu Server 16.04里执行这条命令:

    sudo apt-get update && sudo apt-get install php7.0-dev gcc make autoconf libc-dev pkg-config php7.0-mysqlnd
    

    这里php7.0-mysqlnd是核心依赖,兼容扩展必须靠它才能正常工作。

  • 第二步:获取兼容扩展源码
    你可以从PHP官方PECL仓库获取对应PHP7.0版本的mysql兼容扩展源码包,下载后解压到服务器本地目录(比如/tmp),然后进入解压后的文件夹:

    cd /tmp/pecl-database-mysql-xxx  # 替换成你实际的解压目录名称
    
  • 第三步:编译并安装扩展
    接下来是编译扩展的标准流程,依次执行以下命令:

    phpize7.0
    ./configure --with-php-config=/usr/bin/php-config7.0
    make && sudo make install
    

    执行完make install后,终端会输出扩展的安装路径,记下来方便后续排查问题。

  • 第四步:配置PHP启用扩展
    现在需要把这个兼容扩展加到PHP配置里,根据你的服务环境找到对应php.ini文件:

    • Apache环境:编辑/etc/php/7.0/apache2/php.ini
    • PHP-FPM环境:编辑/etc/php/7.0/fpm/php.ini
    • CLI模式:编辑/etc/php/7.0/cli/php.ini

    打开文件后,在末尾添加一行:

    extension=mysql.so
    

    保存并退出即可。

  • 第五步:重启服务并验证
    重启你的web服务让配置生效:

    • Apache:sudo systemctl restart apache2
    • PHP-FPM:sudo systemctl restart php7.0-fpm

    然后创建一个测试文件test.php,内容如下:

    <?php
    if (function_exists('mysql_connect')) {
        echo "搞定!mysql_connect 已经可以正常使用了";
    } else {
        echo "还没成功,检查下步骤有没有遗漏";
    }
    ?>
    

    用浏览器访问这个文件,或者在终端执行php7.0 test.php,如果输出“搞定!”就说明兼容成功了。

⚠️ 友情提示:这个兼容扩展只是临时救急方案,长远来看还是建议逐步迁移到mysqli或者PDO,毕竟老的mysql扩展已经被官方废弃很久了,后续版本可能会彻底失去支持。

内容的提问来源于stack exchange,提问作者Innocento

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:30:57