技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

解决IIS运行PHP出现Call to undefined function curl_init()的问题

作者:admin    时间:2012-7-3 17:27:52    浏览:

今天想通过php的curl_init()函数获得网页header信息,但是一开始就遇到许多不顺,其中最大的问题是curl_init()函数执行报错,不过经过一般摸索,总算找到了解决问题的方法。

如下面非常简单的程序代码

<?php
$ch = curl_init();
// 设置URL和相应的选项
curl_setopt($ch, CURLOPT_URL, "http://www.webkaka.com/");
curl_setopt($ch, CURLOPT_HEADER, true);
// 抓取URL并把它传递给浏览器
curl_exec($ch);
//关闭cURL资源,并且释放系统资源
curl_close($ch);
?>

通过该程序代码,可以打开目标网页并显示其header信息。

此程序代码看似简单,但是一般配置的php环境还不一定能执行成功。有的php环境配置里禁用了curl_exe()函数,导致不能执行;而如果php环境配置没有允许curl_init()函数,也同样不能执行。我今天遇到的问题就是没有配置好curl_init()的执行条件,导致出现如下错误提示:Call to undefined function curl_init,通过一番摸索,解决方法如下:

1、修改php.ini文件。

这个文件在你的php安装目录里,如c:\php\。如果没有发现该文件,就把php.ini-dist这个文件的扩展名改为.ini即可。

用记事本打开该文件,在文件中搜索 extension_dir = “./”,将等号后面的路径修改为 “c:\php\ext”(注:“c:\php\”是php安装目录)。

搜索“;extension=php_gd2.dll”、“;extension=php_mysql.dll”,去掉前面的分号。

搜索“;extension=php_curl.dll”,去掉前面的分号。(这个设置是允许你的php环境执行php_curl()函数)

保存php.ini,将它拷贝至windows文件夹下。

2、在刚才设置的extension_dir目录下检查有无php_curl.dll,没有的请在网上下载一个php_curl.dll。

3、把php目录中的libeay32.dll和ssleay32.dll拷到c:\windows\system32里面。

4、最后要重启IIS。IIS重启方法:在dos里输入 iisreset /restart 即可。

这样,问题就可以解决了。

curl_exec()禁用了如何解决?

同样需要修改php.ini文件,查找disable_functions,把curl_exec()去掉即可。

手动配置php环境我现在觉得过于麻烦了,我现在都是用星外PHP全自动安装30秒搞定,强烈推荐使用哦。

标签: curl_init  curl  
相关文章
    x
    • 站长推荐
    /* 左侧显示文章内容目录 */