编译安装PHP8连接MySQL报错问题解决方法

一、问题背景

旧项目后端采用 ThinkPHP5 开发,为了提升后端服务性能和开发体验,决定采用 ThinkPHP8 重构。本地 MAC 电脑成功编译安装 PHP8.4.3、PHP8.3.16,测试链接 MySQL 报错。

二、问题描述

编译安装 PHP8.4.3 步骤如下:

  1. php 官网下载 php-8.4.3.tar.gz,解压并进入解压后的目录。
  2. 生成编译配置文件 /configure –prefix=/usr/local/php-8.4.3 –with-config-file-path=/usr/local/php-8.4.3/etc。
  3. 编译并安装 make && make install。
  4. 编译安装 pod_mysql、mysqlnd 扩展。具体方法参考 PHP 安装 bcmath 扩展步骤
  5. 修改 PHP 配置文件 /usr/local/php-8.4.3/etc/php.ini,具体如下
  6. extension=pdo_mysql
  7. extension=mysqlnd
    1. 编译安装PHP8连接MySQL报错问题解决方法
    2. 测试 MySQL 连接报错“Bad handshake”,测试脚本及报错截图如下

    怀疑 MAC 系统和 PHP8.4.3 版本可能存在兼容性问题,于是按照以上步骤安装 PHP8.3.16,然后连接数据库报错“SQLSTATE[HY000] [2006] MySQL server has gone away”

    三、解决方法

    检索尝试各种方案,排除了 PHP 版本、MySQL 版本、操作系统问题,可能是编译安装PHP方式有问题。

    最终,在QQ好友「星兄弟」帮助下,借助国产 DeepSeek AI 锁定问题原因,即生成编译配置文件命令需带上 –with-pdo-mysql=mysqlnd –with-mysqli=mysqlnd。

    修改后的生成编译配置文件命令 /configure --prefix=/usr/local/php-8.4.3 --with-config-file-path=/usr/local/php-8.4.3/etc --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd

    无需单独编译安装 pod_mysql、mysqlnd 扩展。

    四、问题验证

    修改生成编译配置文件命令后,重新编译安装,测试 MySQL 连接成功!

    编译安装PHP8连接MySQL报错问题解决方法

原创文章,作者:linuxcto,如若转载,请注明出处:https://www.server7.cc/2025/02/05/265.html

(0)
linuxctolinuxcto
上一篇 6天前
下一篇 2024 年 8 月 11 日 下午11:57

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注