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

PHP8源码编译环境pdo_mysql扩展加载报错问题求助

pdo_mysql加载提示mysqlnd未加载故障修复

该故障本质是PHP扩展加载依赖顺序错误,或pdo_mysql编译时未正确绑定mysqlnd依赖,按以下步骤排查修复即可:

  • 优先排查扩展加载顺序问题
    PHP会按配置文件的命名顺序依次加载扩展,pdo_mysql必须在mysqlnd加载完成后才能正常启动,顺序颠倒就会触发题述报错:

    1. 执行命令查看PHP当前加载的配置路径:
      php --ini
      
      记录输出中Scan for additional .ini files in:对应的扩展配置目录路径,通常为PHP安装目录下的etc/conf.d文件夹。
    2. 进入该目录,查看所有扩展ini文件的命名排序:
      ls *.ini | sort
      
      排序越靠前的文件加载优先级越高,如果pdo_mysql对应的ini文件名排在mysqlnd对应文件之前,就会触发加载错误。
    3. 重命名两个配置文件调整优先级,保证mysqlnd先加载,例如:
      # 调整ini文件前缀数字,数字越小加载越早
      mv 30-mysqlnd.ini 15-mysqlnd.ini
      mv 20-pdo_mysql.ini 20-pdo_mysql.ini
      
      如果是直接在主php.ini文件中写扩展加载项,把extension=mysqlnd.so行移动到extension=pdo_mysql.so行之前即可。
    4. 执行php -m验证,无Warning即修复完成。
  • 若调整顺序后仍报错,检查pdo_mysql编译参数
    源码编译pdo_mysql时如果指定了系统自带的libmysqlclient作为依赖,而不是绑定内置的mysqlnd,也会出现依赖识别错误:

    1. 回到pdo_mysql的源码编译目录,重新执行配置流程,指定使用mysqlnd作为依赖:
      phpize
      ./configure --with-pdo-mysql=mysqlnd
      make clean
      make && make install
      
    2. 若搭配php-fpm提供web服务,重启进程后再次验证即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 10:30:39