安装

要使用 PHP 的 cURL 支持,您还必须编译 PHP --with-curl[=DIR],其中 DIR 是包含 libinclude 目录的目录的位置。在 include 目录中应该有一个名为 curl 的文件夹,其中应该包含 easy.hcurl.h 文件。在 lib 目录中应该有一个名为 libcurl.a 的文件。

注意Win32 用户注意事项
为了在 Windows 环境中启用此模块,libeay32.dllssleay32.dll,或者从 OpenSSL 1.1 开始,libcrypto-*.dlllibssl-*.dll 必须存在于您的 PATH 中。此外,libssh2.dll 必须存在于您的 PATH 中。 您不需要来自 cURL 网站的 libcurl.dll

添加注释

用户贡献的注释 21 个注释

comments at adstation-systems dot com
16 年前
您可能会像我一样对在 php 中安装 cURL 的说明感到困惑。说明“要使用 PHP 的 cURL 支持,您还必须编译 PHP --with-curl[=DIR]...”对我来说很模糊,因为我在安装时没有编译 php。我只是按照 php 手册中非常清楚地描述的那样,将所有必要的文件复制到正确的文件夹中。

我使用的是 Windows XP、Apache 和 php 5.1.6。在这种情况下,并且可能适用于 5.0 及更高版本的 php,您只需要从指令 extension=php_curl.dll 前面的“;”中删除分号。您还应该检查以确保 libeay32.dll 和 ssleay32.dll 位于您的 php 目录中,与其他 dll 一样。此目录应该已经在您的路径中,因此将它们放在路径中的说明并不重要。

然后您可以运行 phpinfo(),您应该在列表中看到一个名为 curl 的标题。

简而言之,我的 cURL 安装包括删除 php.ini 文件中 ;extension=php_curl.dll 行前面的分号,保存 php.ini 并重启 Apache。如果您使用的是 5.0 及更高版本的 php,并且难以理解 php.net 上的 cURL 安装页面上的说明,您可能希望尝试一下。

您也可能会发现 http://curl.phptrack.com/forum/viewtopic.php?t=52 上的信息很有用。
Joseph Marlin
13 年前
Ubuntu 11.04

我已经设置了 Apache 和 PHP5,但仅仅添加 php5-curl 和 curl *不*起作用。我还需要获取 libcurl3 和 libcurl3-dev。完整命令为

sudo apt-get install curl libcurl3 libcurl3-dev php5-curl

您会知道它是否有效,因为 phpinfo() 将获得一个带有 Curl 信息的新部分。
Developtus.com
9 年前
在 Windows 7 x64 上升级到 php 5.6.9 后,curl 不再被识别。服务器启动包没有错误,只是不可用,并且没有显示在 phpinfo.php 中。deplister.exe 可以正常工作。
我修复了从 php 文件夹(在我的情况下为 D:\xampp\php)中复制以下列表文件
libeay32.dll
libssh2.dll
ssleay32.dll
到 c:\xampp\apache\bin(或您的 apache\bin 路径),重启 apache 并正常工作,apache 的库已经过时。
epos_jk
6 年前
您不需要复制文件来使用 Apache 2.4 的 PHP CURL - 相反,在您的 apache 配置文件中使用 LoadFile 指令
LoadFile "C:/php7/libssh2.dll"
(这对我来说是唯一能够让它工作的步骤)
epos_jk
6 年前
从 1.1.0 版本开始,OpenSSL 更改了库名称!
libeay32.dll 现在是 libcrypto-*.dll(例如,对于 64 位 Windows 上的 OpenSSL 1.1.x,为 libcrypto-1_1-x64.dll)
ssleay32.dll 现在是 libssl-*.dll(例如,对于 64 位 Windows 上的 OpenSSL 1.1.x,为 libssl-1_1-x64.dll)
regs at voidship dot net
15 年前
如果您像我一样愚钝,请在 Ubuntu 系统(可能也包括 Debian)上省去麻烦,并且...

$ sudo apt-get install php5-curl

然后感到愚蠢,但不要像我一样愚蠢。
TristanV
10 年前
如果您在 Windows 上运行带有预配置 PHP 的 Wampserver 或类似软件,如果您已经完成了所有建议的操作(路径正确、dll 位于 System32 或 Wow64 文件夹中、php.ini 中的 php_curl 扩展已取消注释、重新启动了机器并重新启动了服务),并且您仍然收到关于 curl 未安装的消息
- 您可能正在运行命令行脚本(而不是网页应用程序中的 curl 指令)。如果是这样,请记住,有两个不同的 php.ini 配置文件:一个用于 php-cli 命令(在命令行运行 php),另一个用于 php 指令(从 www 文件夹中的页面运行)。
Wampserver 的菜单项“php.ini”只打开 web 服务器的 php.ini,而不是 php-cli 的 php.ini。
因此,检查您的 php-cli 的 php.ini 配置文件非常重要!(您将在 php.exe 的安装文件夹中找到它)
您需要在此 php.ini 文件中取消注释扩展 php_curl,才能使命令行与 curl 一起使用。
顺便说一下,还要取消注释 php_openssl 扩展(通常与 curl 一起使用)。
我希望此已修复的问题能帮助其他人:)
jorijnsmit at gmail dot com
10 年前
并非总是需要(重新)编译 PHP。对我来说,安装 php5-curl 并重新启动 Apache 就足够了

$ sudo apt-get install php5-curl
$ sudo /etc/init.d/apache2 restart
anonymous
6 年前
在 Apache 2.4 32 位版本 Windows 7 x64 上升级到 php 7.1.6

此 curl 实现有效

1. C:/(php 文件夹路径)/php.ini
启用 extension=php_curl.dll

libeay32.dll、ssleay32.dll、libssh2.dll 可以在 php7 文件夹中直接找到

2. 将此添加到 Apache/conf/httpd.conf
# 加载 curl 和 open ssl 库
LoadFile "C:/(php 文件夹路径)/libeay32.dll"
LoadFile "C:/(php 文件夹路径)/ssleay32.dll"
LoadFile "C:/(php 文件夹路径)/libssh2.dll"
Greg
4 年前
对于可能遇到与 curl 相关的 WordPress 问题的人,我的答案是 curl.cainfo 未在配置中指定。这导致插件产生一些非正常错误,我最终得以追踪到它。

curl.cainfo = "C:\php\extras\ssl\cacert.pem"

您需要一份 cacert.pem 的副本(它没有包含在 PHP 中,并且需要定期更新,可以在官方永久链接中找到
https://curl.haxx.se/ca/cacert.pem

他们使用修改后的 Mozilla 证书存储版本,旨在与 libcurl 配合使用。

我不是专家,这只是对我来说修复错误的方法。

(cacert.pem 列出了官方根证书提供者,以便您的计算机知道哪些是安全认证的,这是我的外行解释。我确定它在技术上并不准确,但对我们外行人来说已经足够接近了。)
NV
2 年前
如果尝试在 Windows 上安装(我使用的是 Windows 10、Apache 2.4、PHP 8.1),并且 curl 模块没有加载,并且 PHP 显示/记录以下错误,但 <phpPath>\ext\php_curl.dll 存在

[14-Apr-2022 23:41:36 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'curl' (tried: <phpPath>\ext\curl (The specified module could not be found), <phpPath>\ext\php_curl.dll (The specified module could not be found)) in Unknown on line 0

问题不在于它找不到模块,而在于它找不到它的依赖项(即 <phpPath>\libcrypto-1.1.dll 和 libssl-1.1.dll 或类似文件)。正如其他评论中所述,您需要将 <phpPath> 添加到系统变量 PATH 变量中。

但是,如果您将 Apache 作为服务启动,默认情况下服务将在本地系统帐户下运行。在这种情况下,****您需要重新启动****,以便 PATH 变量的更改更新为本地系统帐户(有关参考,请参见以下内容
https://stackoverflow.com/questions/32068893/how-to-change-path-value-for-local-system-account-in-ms-windows)
wixelbomb at yahoo dot com
14 年前
对于 Windows XP 安装,只是一点补充说明...

对于那些将 Windows/system32 目录作为 php_curl 相关 .dll 文件存储库的用户,其他人提供的友好指示仍然缺少一个小的内容。

在您遵循其他地方提供的建议之后,转到 PHP 安装的 ext 目录,并将 php_curl.dll 复制到 Windows/system32 文件夹中。

所以...
1) 从 php.ini 中删除 extension=php_curl.dll 中的 ';'。
2) 确保 ssleay32.dll 和 libeay32.dll 在 Windows/system32 中。
3) 将 php_curl.dll 也复制到 Windows\System32 中。

早上好

bearstate
karliskavacis at gmail dot com
8 年前
在我的情况下,在运行 Windows 10 和 Apache Httpd 2.4 时,我必须将我的 PHP7 根目录添加到 Windows PATH,它解决了无法加载几个 PHP 扩展的问题。
1004707812 at qq dot com
6 年前
Win10 64 位,php7 x64,apache x64
在 php.ini 中明确设置 " extension_dir = "X:/WAMP/php/ext" " 很重要。
请记住,一些 dll 的名称最近发生了变化,特别是在 x64 环境中。
lymer at ca dot ibm dot com
9 年前
对于 Windows 7 (64 位),请确保您不仅启用了 curl 扩展(即在 php.ini 中取消注释 "extension=php_curl.dll"),如本手册中所述,而且还在 php.ini 文件中设置了 Windows 的扩展目录(例如 extension_dir = "ext")。添加/复制 dll 文件或更改系统路径不是必需的。(使用的版本:Apache 2.4.1 (Win64) 和 PHP 5.5.15。)
Windows+
4 年前
如果您无法解决 WINDOWS 上的此错误 "致命错误:未捕获的错误:调用未定义的函数 curl_init()"。

尝试将以下字符串添加到 apache 配置(httpd.conf)中。

LoadFile "C:\Program Files\Apache\php\libssh2.dll"
LoadFile "C:\Program Files\Apache\php\libcrypto-1_1-x64.dll"
LoadFile "C:\Program Files\Apache\php\libssl-1_1-x64.dll"

并重启 apache(不要忘记使用您的 php 文件夹名称);

将这些文件移到 apache 或 windows 文件夹中,对我来说不起作用。

libeay32.dll (libcrypto-*.dll)
libssh2.dll
ssleay32.dll (libssl-*.dll)
cristianods at yahoo dot com
16 年前
在 Windows 上使用 AppServ 开发服务器安装 cURL 的提示

如果您在 Windows 机器上运行 AppServ 作为 WAMP 开发环境,您可能会遇到安装 cURL 的困难。以下是一些有用的步骤。

首先,转到 PHP 目录,并将以下库复制到 windows/system32 目录中。
ssleay32.dll
libeay32.dll

打开 php ini 文件,从 extension=php_curl.dll 中删除 ';'。

重启您的机器以加载 […]
dave at omgomg dot co dot uk
3 年前
为了让 curl 在 win64 上与 apache 2.4 和 php 7.4 一起工作,我必须将以下内容添加到路径中。
C:\Apache24\bin\
C:\php\
jmichieli76 at yahoo dot ca
12 年前
应该注意的是,在 Windows 上标准安装的 php 5.2.17 默认情况下已安装并启用了此功能。
Tovster
5 年前
我的 curl 在 Windows 上与 Apache 2.4 和 PHP 7.3 一起使用时无法工作 - 奇怪的是 phpinfo 显示了作者,但没有 curl 部分/面板。

我更改了 windows 路径以包含 PHP 目录,并在重启后它开始工作。

您可以在控制面板 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量中更改 windows 路径,然后在 "系统变量" 中编辑路径变量。
sharif dot golang at gmail dot com
3 年前
我尝试了它,它正常工作。
To Top