XAMPP环境下PHP 8.0.12升级到8.1后无法启用所有扩展模块如何解决
XAMPP 升级PHP 8.1 扩展无法加载问题排查方案
- 首先校验php.ini加载路径是否正确
打开PHPinfo页面,查看Loaded Configuration File字段的路径,确认是否是你修改的那份配置文件。XAMPP多PHP版本共存时很容易出现Apache加载旧版本php.ini的问题。 - 修正扩展目录配置
打开你实际加载的php.ini,找到extension_dir配置项,填写PHP 8.1目录下ext文件夹的绝对路径,示例:
PHP 8.1 对相对路径的识别兼容性比8.0更低,使用相对路径会出现扩展目录识别失败的问题,导致所有扩展无法加载。extension_dir = "C:/xampp/php81/ext" - 补全openssl运行依赖
openssl扩展加载失败90%是因为缺少依赖库,将PHP 8.1根目录下的libcrypto-1_1-x64.dll、libssl-1_1-x64.dll两个文件复制到Apache的bin目录中,或者将PHP 8.1根目录加到系统环境变量Path中,重启Apache即可。 - 下载对应版本的第三方扩展
不同PHP大版本的扩展完全不兼容,不能直接迁移旧版本PHP的扩展文件。你需要下载专门适配PHP 8.1、线程安全(TS)、对应你系统位数的mongodb扩展dll,放入ext目录后再修改php.ini配置,即可解决加载报错问题。 - 安装对应运行时库
PHP 8.1 是VS16编译生成,需要提前安装对应x86/x64版本的Visual Studio 2019 可再发行组件包,缺少该运行时会出现所有扩展都无法加载的问题。
内容的提问来源于stack exchange,提问作者bluethundr
相关产品推荐
相关产品推荐

