php_curl "Call to undefined function curl_init()"的解决方法

在php中可以很容易的获取某个url的内容,file_get_contents,file或者readfile函数都可以实现,但是对于比较灵活获取特定url的特定属性,以上三者是没法好好处理,而curl却能很好地体现它的价值,源于curl_setopt的多项属性可以设置。

这里的curl_setopt()和curl_init()函数默认wamp环境是不支持的,所以常规步骤需要设置几处:
1、在http://localhost/?phpinfo=1中找到Loaded Configuration File 配置项找到对应值为:Configuration File D:\wamp\bin\apache\apache2.4.2\bin\php.ini ,定位到该目录,打开php.ini文件,找到“;extension=php_curl.dll”,去掉“;”,save,重启apache;
2、把php_curl.dll(我的目录:D:\wamp\bin\php\php5.4.3\ext)、libeay32.dll、ssleay32.dll、php5ts.dll(我的目录:D:\wamp\bin\apache\apache2.4.2\bin)都拷到c盘system32目录下。
正常的步骤到这一步是可以解决call to undefined function curl_init()的问题,在服务器根目录www下编辑index.php,代码如下:


 <?php 
 $ch = curl_init(); 

 curl_setopt ($ch, CURLOPT_URL, "http://jwc.scau.edu.cn/"); 
 //curl_setopt ($ch, CURLOPT_HEADER, 0); 

 curl_exec ($ch); 

 curl_close ($ch); 
 ?> 

执行该代码还是出现了call to undefined function curl_init()的问题,而网上找到的解决方案和上面介绍的步骤也是差不多,此时的内心是·····

峰回路转,无意找到了一篇特别的情况,见http://back.waitalone.cn/post/wamp_win7_curl.html
所以在win10的系统直接搜索“事件查看器”。看到了好东西,果然,看到了事件查找器的警告提示,如下截图:
这里写图片描述
错误的提示情况的描述:“d:\wamp\bin\php\php5.4.3\ext\php_curl.dll”的激活上下文生成失败。 找不到从属程序Microsoft.VC90.DebugCRT,processorArchitecture=”amd64”,publicKeyToken=”1fc8b3b9a1e18e3b”,type=”win32”,version=”9.0.21022.8”。 请使用 sxstrace.exe 进行详细诊断。
所以认为是环境的php_curl有问题,所以重新下载了一个php_curl.dll,并覆盖了之前的文件,下载链接:http://www.mediafire.com/download/3ay381k3cq59cm2/php_curl-5.4.3-VC9-x64.zip
果然,下载完覆盖c盘system32目录下的php_curl.dll,重启,执行index.php文件,执行成功。
所以最后总结的结果,还是原来的php_curl.dll有问题。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值