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

安装Typo3时遇PHP Warning:无法加载mysqli.so动态库(PHP8.1)

解决PHP8.1下mysqli.so动态库加载失败问题

在安装Typo3过程中,PHP8.1环境下执行php -m或运行Composer时出现如下警告:

PHP Warning: PHP Startup: Unable to load dynamic library 'mysqli.so' (tried: ./mysqli.so (./mysqli.so: cannot open shared object file: No such file or directory), ./mysqli.so.so (./mysqli.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

以下是针对性的排查和解决步骤:

  • 确认PHP8.1的mysqli扩展已安装
    基于你使用的系统执行对应命令:

    • Debian/Ubuntu系:apt list --installed | grep php8.1-mysqli,若未安装则执行sudo apt install php8.1-mysqli
    • RHEL/CentOS系:dnf list installed | grep php8.1-mysqli,若未安装则执行sudo dnf install php8.1-mysqli
  • 修正PHP8.1配置文件中的扩展加载写法

    1. 执行php8.1 --ini,找到PHP8.1的配置文件路径(Loaded Configuration File)和额外配置目录(Additional .ini files parsed)
    2. 进入对应配置目录,找到mysqli相关的ini文件(如20-mysqli.ini),将extension=mysqli.so修改为extension=mysqli(PHP8+版本无需手动指定.so后缀,系统会自动匹配扩展文件)
  • 验证mysqli扩展文件的实际路径

    1. 执行php8.1 -r "echo ini_get('extension_dir');"获取PHP8.1的扩展目录
    2. 检查该目录下是否存在mysqli.so文件,若不存在则重新安装php8.1-mysqli包;如果是源码编译的PHP,需重新编译并安装mysqli扩展
  • 同步CLI与FPM的配置(若使用FPM运行Typo3)
    检查/etc/php/8.1/fpm/conf.d下的mysqli配置是否与CLI配置一致,修改后执行sudo systemctl restart php8.1-fpm重启服务

  • 清理PHP缓存
    若开启了opcache,执行php8.1 -r "opcache_reset();"重置缓存,或直接重启相关PHP服务

内容的提问来源于stack exchange,提问作者K. Hendrik

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 11:34:59