我已经按照这里的所有说明进行操作:http://www.tonyspencer.com/2003/10/22/curl-with-php-and-apache-on-windows/
安装和配置Apache获取 PHP5 软件包并获取 CURL 包。
我运行 apache 并运行一个 PHP 脚本。没问题。但是当我使用 curl 运行 php 脚本时,它失败了。
它返回:**Call to undefined function curl_version() in C:'Program Files'Apache Software Foundation'Apache2.2'htdocs'testing.php on line 5**
其中第 5 行是调用curl_init()
我输出 php -i 以查看是否调用了正确的扩展路径。 它已正确设置:
extension_dir => C:'PHP'ext => C:'PHP'ext
cURL support => enabled
cURL Information => libcurl/7.16.0 OpenSSL/0.9.8g zlib/1.2.3
我什至尝试运行curl_version()
但仍然出现同样的错误。
看起来 PHP 找不到 CURL 扩展名,但php.ini
(以及 php -i)显示它已设置。
知道吗?:)
P.S> System I m running on:
Windows XP
Apache 2.2
PHP 5.2.6
CURL Win32 Generic Binaries: Win32 2000/XP metalink 7.19.0 binary SSL enabled Daniel Stenberg 249 KB
我没有得到这个:
Win32 2000/XP 7.19.0 libcurl SSL enabled Günter Knauf 1.55 MB
Should I get this one instead?
我需要使用 CURL 的原因是这是我项目的要求。 所以,我只能坚持下去。呵呵...它在Windows中是如何工作的? 有什么网站可以推荐吗? 谢谢。
我已经尝试了很多关于安装 cURL 并检查所有内容的方法,但我仍然在围绕这个问题兜圈子,不知道发生了什么。
Apache服务器使用正确的PHP.ini。 和 PHP.ini 具有正确的extension_dir和扩展名=php_curl.dll我不知道为什么它不起作用。 甚至我也会遵循设置它的每一步。:(
使用以下步骤安装 curl:
-
在浏览器中打开 https://curl.haxx.se/dlwiz?type=bin。
-
在下拉框中选择您的操作系统:Windows/Win32 或 Win 64。点击选择!
-
对于 Win 32,请选择是在 Windows 命令提示符(通用)还是在 Cygwin 终端 (cygwin) 中使用 curl。对于 Win 64,请选择是在 Windows 命令提示符(通用)还是 MinGW (MinGW64) 中使用 curl。点击选择!
-
如果需要,请选择您的 Windows 操作系统。完成。
-
单击已启用或禁用 SSL 的版本下载
-
打开下载的 zip 文件。将文件解压缩到易于查找的位置,如 C:''Program Files。
测试卷曲
-
打开 Windows 命令提示符终端。(从"开始"菜单中,单击"运行",然后键入 cmd。
-
设置路径以包含放置 curl.exe 的目录。例如,如果将其放在 C:''Program Files''curl 中,则应键入以下命令:设置路径=%路径%;"c:''Program Files''curl"
注意:您也可以直接复制 curl.exe 文件路径中的任何现有路径
- 键入卷曲。您应该看到以下消息:curl:尝试"curl –help"或"curl –message"以获取更多信息这意味着已安装 curl 并且路径正确。
你可能弄错了需要编辑的PHP.ini。 首先,添加一个 PHPinfo(); 到信息.php,然后从浏览器运行它。
记下您现在在变量列表中看到的 PHP ini 目录路径!您可能会注意到它与您的 PHP-CLI ini 文件不同。
启用扩展
你完成了:-)
我正在使用XAMPP,其中有几个php.ini文件。
您可以在 php.ini 文件中找到该行: ;extension=php_curl.dll
请删除此行开头的;
。您可能需要重新启动 apache 服务器。
我对此也有问题。在正确执行所有这些步骤并解决一些固定的误解(没有extensions_dir,只有extension_dir,没有sessions.save_path但session.save_path)之后,没有任何效果。
最后我在 php.net 找到了这张纸条:
注意:Win32 用户注意:为了在 Windows 环境中启用此模块,您的 PATH 中必须存在 libeay32.dll 和 ssleay32.dll。你不需要 libcurl.dll 来自 cURL 站点。
所以我将ssleay32.dll,libbeay32.dll和php_curl.dll从/PHP复制到Windows/system32并替换了已经存在的文件(我注意到有旧版本的ssleay32.dll和libbeay32.dll)。之后,我在 php_info() 中找到了 CURL 部分;最后一切正常。
祝你好运!
其他遇到此问题的人的另一个答案
取消注释扩展线时,请将其更改为:
extension=C:/php/ext/php_curl.dll
或扩展文件夹的位置,对我来说,直到我这样做才起作用
我最近在 PHP 5 for Windows Vista 上安装了 Curl。 当我最初安装 PHP5 时,我没有启用 CURL 库,所以 phpinfo() 或 php.ini 中没有显示任何关于 Curl 的内容。
我通过重新运行 PHP5 安装程序(对我来说是 php-5.2.8-win32-installer.msi)并选择"更改"来安装 CURL。 然后,我添加了 CURL 组件。 重新启动 Apache,CURL 应该可以工作了。 CURL 将显示在 phpinfo() 中。 此外,下面是一个示例脚本,您可以运行该脚本来验证它是否正常工作。 它显示来自谷歌的RSS提要:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,
'http://news.google.com/news?hl=en&topic=t&output=rss');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$contents = curl_exec ($ch);
echo $contents;
curl_close ($ch);
?>
注意:Win32 用户注意为了在 Windows 环境中启用此模块 (cURL),libeay32.dll 和 ssleay32.dll 必须存在于您的 PATH 中。你不需要 libcurl.dll 来自 cURL 站点。
这张纸条解决了我的问题。想到分享。Libeay32.dll & Ssleay.dll您可以在PHP安装文件夹中找到。
我同意 Erroid 的观点,您必须将 PHP 目录添加到 PATH 环境中。
PATH=%PATH%;<Your_PHP_Path>
例
PATH=%PATH%;C:'php
它对我有用。谢谢。
你可以在 http://www.apachefriends.org/en/xampp.html 找到XAMPP
http://www.apachefriends.org/en/xampp-windows.html 解释了XMAPP for Windows。
是的,安装后有 3 个 php.ini 文件,一个用于 php4,一个用于 php5,一个用于 apache。请相应地修改它们。
我解决了这个问题。
在我的 apache 中,我必须指定:
PHPIniDir "C://php"AddType application/x-httpd-php .php
对于 PHP.ini,不要使用 php.ini_suggest,而是使用 php.ini_dist 来配置我的 php.ini。
然后确保 PHP 引擎已打开。然后它现在工作了。 谢谢大家。
你可以从这里使用 curl .download 文件的二进制文件: http://www.paehl.com/open_source/?CURL_7.22.0下载文件并在解压缩后放入任何驱动器并将绝对路径设置为环境中,现在您还可以在 Windows 中使用 curl 作为命令。喜欢c:''curl -u user@example.com:password http://localhost:3000/user/sign_in
您也可以使用 CygWin 并安装 cURL 包。 它工作得很好,完美无瑕!!
尝试了所有方法-但没有任何帮助。搜索了几个小时后,我找到了这些信息:
Apache 2.4.18 由于某种原因没有加载 php 7.2 curl。我更新了我的 阿帕奇到 2.4.29 并立即加载卷曲
http://forum.wampserver.com/read.php?2,149346,149348
我应该说什么:我更新了Apache,卷曲像魅力一样运行