这是PHP cURL扩展未加载导致的致命错误,需先确认php.ini路径、启用extension=curl、检查extension_dir及依赖DLL或so文件是否存在,再重启服务。

这是典型的 PHP cURL 扩展未加载导致的致命错误,不是代码问题,而是环境配置缺失。 直接检查 php.ini 和依赖 DLL 是否就位,别先改代码。
确认当前生效的 php.ini 文件位置
很多人改了错的 php.ini —— Apache、CLI、PHP-FPM 可能各用一份配置。执行以下命令查准:
php --ini
输出中 Loaded Configuration File 指向的才是你要编辑的文件。Windows 下常见路径是 C:\php\php.ini 或 C:\xampp\php\php.ini;Linux 下可能是 /etc/php/8.2/apache2/php.ini(版本号依实际而定)。
启用 extension=curl 并验证路径
打开上一步确认的 php.ini,搜索 curl,找到类似这行:
立即学习“PHP免费学习笔记(深入)”;
;extension=curl
或旧版写法:
;extension=php_curl.dll
去掉开头分号,保存。同时检查 extension_dir 设置是否正确,例如:
extension_dir = "ext"
确保该目录下真实存在 php_curl.dll(Windows)或 curl.so(Linux/macOS)。若不存在,说明 PHP 安装包本身没带这个扩展,需重装或补全。
向CurlShip提交产品,这是一个对机器人友好的SaaS目录。只需一条curl命令即可发布产品,支持OG标签抓取、带徽章的dofollow链接及层级升级。
Windows 下 DLL 依赖缺失是高频原因
即使 extension=curl 已启用,curl_init() 仍报错,大概率是运行时缺底层 DLL。需确认以下四个文件是否都在系统路径(如 C:\Windows\System32)或 PHP 根目录:
libeay32.dllssleay32.dlllibssh2.dllphp_curl.dll
注意:libssh3.dll 是错误写法,正确名是 libssh2.dll;若用的是 PHP 7.4+ 或 8.x,部分新版已不再依赖前两个 OpenSSL DLL,但老环境(尤其 PHP 5.6/7.0)必须齐备。Apache 启动失败日志里常出现 The specified module could not be found,就是缺这些。
Linux/macOS 下 curl 扩展未安装的快速修复
Debian/Ubuntu:
sudo apt update && sudo apt install php-curl
CentOS/RHEL/Rocky 8+:
sudo dnf install php-curl
macOS(Homebrew):
brew install php
安装后务必重启服务:sudo systemctl restart apache2 或 sudo systemctl restart php8.2-fpm(版本号匹配你的 PHP)。别只 reload,得 full restart。
最易被忽略的一点:PHP-FPM 和 Web 服务器可能加载不同 ini 文件,phpinfo() 页面里显示的 Loaded Configuration File 必须和 CLI 命令 php --ini 输出一致,否则你改的配置根本没生效。


















