我已按照此处的所有说明操作: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的原因是它是我项目的要求。所以,我只能坚持下去。 XAMPP ......它在Windows中如何运作?有没有可以推荐的网站?感谢。
我已经尝试了很多关于安装cURL并检查所有内容的东西,但是,我仍然在围绕这个问题盘旋,并且不知道发生了什么。
Apache服务器使用正确的PHP.ini。并且PHP.ini具有正确的extension_dir和extension = php_curl.dll 我不知道为什么它不起作用。即使我按照每一步设置它。 :(
答案 0 :(得分:48)
使用以下步骤安装curl:
在下拉框中选择您的操作系统:Windows / Win32或Win 64.点击选择!
对于Win 32,选择是在Windows命令提示符(Generic)还是在Cygwin终端(cygwin)中使用curl。对于Win 64,选择是否在Windows命令提示符(Generic)或MinGW(MinGW64)中使用curl。单击选择!
如果需要,请选择Windows操作系统。完成。
单击“下载”以启用或禁用SSL的版本
打开下载的zip文件。将文件解压缩到易于查找的位置,例如C:\ Program Files。
测试卷曲
打开Windows命令提示符终端。 (从“开始”菜单中,单击“运行”,然后键入cmd。)
设置路径以包含放置curl.exe的目录。例如,如果将其放在C:\ Program Files \ curl中,则可以键入以下命令: set path =%path%;" c:\ Program Files \ curl"
注意:您也可以直接将curl.exe文件复制到路径中的任何现有路径
答案 1 :(得分:20)
您可能误以为需要编辑的PHP.ini。首先,添加一个PHPinfo();到info.php,然后从浏览器运行。
记下您现在在变量列表中看到的PHP ini目录路径! 您可能会注意到它与您的PHP-CLI ini文件不同。
启用扩展程序
你已经完成了: - )
答案 2 :(得分:14)
我正在使用XAMPP,其中有几个php.ini文件。
您可以在php.ini文件中找到该行:
;extension=php_curl.dll
请在此行的开头删除;
。您可能需要重启apache服务器。
答案 3 :(得分:9)
我也有这个问题。在所有这些步骤正确完成并且一些固定的误解之后(没有extensions_dir但是extension_dir,并且没有sessions.save_path但是session.save_path)没有任何效果。
最后我在php.net上找到了这个笔记:
注意:Win32用户注意: 要在Windows环境中启用此模块,必须在PATH中存在libeay32.dll和ssleay32.dll。您不需要来自cURL网站的libcurl.dll。
所以我复制了ssleay32.dll,libeay32.dll& php_curl.dll从/ PHP到Windows / system32并替换已经存在的文件(我注意到有旧版本的ssleay32.dll和libeay32.dll)。之后我在php_info()中找到了CURL部分;最后一切正常。
祝你好运!答案 4 :(得分:4)
遇到此问题的其他人的另一个答案
当您取消对扩展行的评论时,请将其更改为:
extension=C:/php/ext/php_curl.dll
或扩展文件夹的位置,对我而言,直到我这样做才行。
答案 5 :(得分:2)
我最近在PHP5 for Windows Vista上安装了Curl。我最初安装PHP5时,不启用了CURL库,因此没有任何关于Curl的信息出现在phpinfo()或php.ini中。
我通过重新运行PHP5安装程序(对我来说是php-5.2.8-win32-installer.msi)并选择“更改”来安装CURL。然后,我添加了CURL组件。重启Apache,CURL应该可以运行。 CURL将显示在phpinfo()中。此外,这是一个示例脚本,您可以运行它来验证它的工作原理。它显示来自Google的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);
?>
答案 6 :(得分:2)
注意:Win32用户请注意 要在Windows环境中启用此模块(cURL),必须在PATH中存在libeay32.dll和ssleay32.dll。您不需要cURL站点中的libcurl.dll。
这个说明解决了我的问题。分享的想法。 libeay32.dll&amp;您可以在php安装文件夹中找到ssleay.dll。
答案 7 :(得分:1)
您可以在http://www.apachefriends.org/en/xampp.html
找到XAMPPhttp://www.apachefriends.org/en/xampp-windows.html解释了XMAPP for Windows。
是的,安装后有3个php.ini文件,一个用于php4,一个用于php5,另一个用于apache。请相应地修改它们。
答案 8 :(得分:1)
我同意Erroid,你必须将PHP目录添加到PATH环境中。
PATH=%PATH%;<Your_PHP_Path>
实施例
PATH=%PATH%;C:\php
它对我有用。谢谢。
答案 9 :(得分:0)
我解决了这个问题。
在我的apache中,我必须指定:
PHPIniDir“C:// php” AddType application / x-httpd-php .php
和php.ini,而不是使用php.ini_recommend,使用php.ini_dist配置我的php.ini。
然后确保php引擎已打开。 那它现在有效。谢谢大家。
答案 10 :(得分:0)
你可以从这里使用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
答案 11 :(得分:0)
您也可以使用CygWin并安装cURL包。它运作良好,完美无瑕!!
答案 12 :(得分:0)
我已经尝试了一切-但没有任何帮助。搜索几个小时后,我发现了以下信息:
由于某些原因,Apache 2.4.18无法加载php 7.2 curl。我更新了我的 Apache达到2.4.29并立即加载curl
http://forum.wampserver.com/read.php?2,149346,149348
我应该说什么:我更新了Apache,curl的运行就像魅力一样