Windows下XAMPP无法加载pecl http扩展的问题求助
Windows下XAMPP加载PECL HTTP扩展失败(PHP 8.1 TS x64)
问题详情
尝试在Windows的XAMPP环境中添加PECL HTTP 4.2.2扩展时,CLI启动报错:
Warning: PHP Startup: Unable to load dynamic library 'http' (tried: C:\xampp\php\ext\http (Le module spécifié est introuvable), C:\xampp\php\ext\php_http.dll (Le module spécifié est introuvable)) in Unknown on line 0 PHP 8.1.27 (cli) (built: Dec 19 2023 23:28:30) (ZTS Visual C++ 2019 x64) Copyright (c) The PHP Group Zend Engine v4.1.27, Copyright (c) Zend Technologies
已执行的操作:
- 下载对应PHP 8.1 Thread Safe x64版本的扩展DLL,放入
C:\xampp\php\ext目录 - 在php.ini中添加
extension=http - 重启Apache服务器
- 通过phpinfo确认当前环境为TS x64、PHP 8.1.27(VC19编译)
- 最初使用PHP 8.2,因PECL HTTP仅支持到8.1,已降级到PHP 8.1.27,但问题依旧
解决思路
- 核对DLL文件与依赖:解压PECL扩展包后,将
ext目录下的http.dll复制到C:\xampp\php\ext;同时将包根目录下的依赖系统DLL(如libcurl.dll、ssleay32.dll)复制到C:\xampp\php根目录,这些是扩展运行必需的基础库 - 启用前置依赖扩展:打开正确的php.ini,确保以下扩展已启用(去掉行首的
;注释):extension=curl extension=mbstring extension=iconv - 确认配置文件路径:在phpinfo页面查看「Loaded Configuration File」项,确保你修改的php.ini就是这个路径;CLI环境可执行
php --ini,输出中的「Loaded Configuration File」就是CLI加载的配置文件,需同步修改 - 严格匹配编译参数:下载扩展时必须选择与PHP完全匹配的版本:PHP 8.1、Thread Safe(TS)、x64、VC19,禁止混用Non-TS或其他编译环境的扩展
- 检查环境变量与权限:将
C:\xampp\php添加到系统PATH中,重启电脑生效;确保Apache服务用户有权限读取C:\xampp\php\ext和C:\xampp\php目录下的所有文件
内容的提问来源于stack exchange,提问作者Bref
相关产品推荐
相关产品推荐

