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

eqoofvh9  于 2022-11-13  发布在  其他
关注(0)|答案(9)|浏览(162)

我有以下错误时,我试图实现谷歌和Facebook的身份验证在windows 7使用wamp服务器
致命错误:在第273行调用未定义的函数curl_init(),该函数位于E:\wamp\www\mysite\protected\extensions\eauth\EAuthServiceBase.php中
我正在使用,

  • wampserver 2.2版本
  • php版本5.3.13

我也启用了php_curl模块。我在php.ini中检查了确认,它是取消注解的,如下所示。

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

这段代码可以在ubuntu和xampp中运行,但不能在windows的wamp中运行。我已经做了我能找到的所有事情。我也尝试过根据这个线程的评论替换php_curl. dll,Call to undefined function curl_init() - with WAMP
我的phpinfo()如下所示。

我已经在分区E:\中安装了wamp,但是“配置文件(php.ini)路径”似乎不同,它是C:\Windows。
请帮助我解决此问题。

e1xvtsh3

e1xvtsh31#

访问这个,并有一个文件下固定 curl 扩展名:http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/下载并替换相关文件后重新启动服务器。在浏览器中导航到localhost,并确保在“加载的扩展名:

9nvpjoqh

9nvpjoqh2#

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

h7appiyu

h7appiyu3#

在Windows 7与PHP 5.5.31检查后,php_curl. dll扩展已启用(仍然不工作),为我工作复制libeay32.dlllibssh2.dll从php目录到Apache bin.

o2g1uqev

o2g1uqev4#

只是猜测-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就没有加载(很明显)。你不是在寻找匹配的版本号--只是寻找这个块的存在。

编辑
看这个问题也
PHP and CURL under Windows 7 64 bits and Apache

d8tt03nd

d8tt03nd5#

使用WAMP时..

  • 在PHP主目录中应该有一个文件php.ini
  • php.ini中启用扩展extension=php_curl.dll,方法是删除;字符
  • extension_dir必须与以下示例类似:extension_dir = "D:\AMP\PHP\ext\",因此不是相对路径
  • Apache服务器只需重启一次,无需多次重启
  • 只需确保ext目录中包含php_curl.dll
guicsvcw

guicsvcw6#

(Windows 10用户)
由于这是谷歌的第一个结果,我有完全相同的问题,没有你的解决方案为我工作,我终于找到了正确的解决方案在其他线程的stackoverflow,我会在这里发布链接:EasyPHP Devserver 16.1 Curl Win 10
解决方案是将当前的PHP目录(取决于您使用的版本)添加到Windows中的全局“path”变量中(如链接中所述,但您当然不需要添加所有的PHP目录)

z4iuyo4d

z4iuyo4d7#

不确定该把我的经验放在哪里,希望它会对某人有用。
在我的例子中(win7 x64 + apache 2.4 + php 7.2),curl扩展在php.ini中被启用,但是没有加载。

vxbzzdmp

vxbzzdmp8#

对于在Windows上运行PHP 7+的用户,默认情况下php目录中没有php.ini文件。
您需要:
1.在PHP目录中创建一个php.ini文件(它应该在C:\php\下,或者php目录所在的位置)
1.将php.ini-developmentphp.ini-production的内容复制到已创建的php.ini文件中。
1.最后去掉分号(;)在extension=curl之前

e1xvtsh3

e1xvtsh39#

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

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

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

相关问题