在wamp 2.2中调用未定义的函数curl_init()错误

时间:2012-09-12 03:04:46

标签: php curl wamp wampserver

当我尝试使用wamp服务器在Windows 7中实施google和facebook身份验证时出现以下错误。

  

致命错误:调用未定义的函数curl_init()   E:\ WAMP \ WWW \ mysite的\保护\分机\ eauth \ EAuthServiceBase.php   在第273行

我正在使用,

  • wampserver 2.2
  • php version 5.3.13

我也启用了php_curl模块。我在php.ini中检查了确认,并在下面取消注释。

;extension=php_bz2.dll
extension=php_curl.dll
;extension=php_dba.dll

代码在ubuntu中使用xampp,但不在windows中使用wamp。我做了我能找到的一切。我已经尝试根据此帖子Call to undefined function curl_init() - with WAMP

上的评论替换php_curl.dll

我的phpinfo()如下所示。 enter image description here

我在分区E:\中安装了wamp,但“配置文件(php.ini)路径”似乎不同,它是C:\ Windows。

请帮我解决问题。

9 个答案:

答案 0 :(得分:63)

访问此文件并在Fixed curl extensions下有一个文件: http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/ 下载并替换相关文件后重启服务器。 在浏览器中导航到localhost并确保在Loaded Extensions下显示curl扩展名:

答案 1 :(得分:11)

对于在Windows 7 64位上运行PHP 5.4.3的WAMP,请确保使用php_curl-5.4.3-VC9-x64.zip NOT php_curl-5.4.3-nts-VC9-x64.zip。

答案 2 :(得分:2)

在Windows 7中使用PHP 5.5.31检查php_curl.dll扩展名是否已启用(但仍无法正常工作)后,我可以复制 libeay32.dll libssh2.dll < / strong>从php目录到Apache bin。

答案 3 :(得分:1)

只是一个猜测 - php.ini中的这一部分没有引用正确的位置

; Directory in which the loadable extensions (modules) reside.
extension_dir = *some value*

http://www.php.net/manual/en/ini.core.php#ini.extension-dir

修改

另外,在你的phpinfo中寻找这个块,如果它不在那里,curl没有加载(显然)。你不是在寻找匹配的版本号 - 只是为了块的存在。

curl section in phpinfo

修改

也看看这个问题

PHP and CURL under Windows 7 64 bits and Apache

答案 4 :(得分:0)

下载此文件并替换您的php_curl文件。

http://pan.baidu.com/share/link?shareid=256509&uk=3675208906

答案 5 :(得分:0)

使用WAMP ..

  • 您应该在主PHP目录中有一个文件php.ini
  • php.ini启用扩展程序extension=php_curl.dll,删除;字符
  • extension_dir必须如下所示:extension_dir = "D:\AMP\PHP\ext\",所以不是相对路径
  • 您只需要重启Apache服务器一次。无需重启多次
  • 请确保php_curl.dll目录中有ext
  • 答案 6 :(得分:0)

    (Windows 10用户)

    由于这是谷歌的第一个结果,我有完全相同的问题,你的解决方案都没有为我工作,我终于在stackoverflow的另一个线程中找到了正确的解决方案,我将在这里发布链接: EasyPHP Devserver 16.1 Curl Win 10

    解决方案是将您当前的PHP目录(取决于您使用的版本)添加到Windows中的全局“路径”变量中(如链接中所述,但您不需要添加所有php directorias当然)

    答案 7 :(得分:0)

    不确定将我的经验放在哪里,希望它对某人有用。

    在我的情况下(win7 x64 + Apache 2.4 + php 7.2),在php.ini中启用了curl扩展,但未加载。通过使用OpenSSL的latest builds替换 Apache libssl-1_1-x64.dll文件夹中的库libcrypto-1_1-x64.dllbin来解决

    答案 8 :(得分:-1)

    通过删除更改php.ini文件中的扩展名取消注释;如下所示

    ;extension=php_bz2.dll
    extension=php_curl.dll
    ;extension=php_dba.dll
    

    然后重新启动所有服务,它将起作用。