关于PHP的curl开启问题

时间:2022-07-08 20:39:11

今天在做一个新浪登录功能,新浪提供的PHP SDK里需要用到curl_init()函数,在调试的时候报找不到curl_init()的方法。 
经搜索得知需要开启curl的php扩展,那curl又是什么呢?能做什么? 
简单介绍,当我们需要抓去某个网站的数据信息时,可以用到file(),file_get_contents()等网页读取函数,因为 
过多的小偷程序泛滥,导致一些站点做了域名限制,从而是的这些file()函数效率低下甚至失效。 
如果使用curl来优化一下的话就能进行一些表单,cookie,验证等功能的强大,灵活的功效。 
开启curl的步骤 
1.在localhost站点下输出一下phpinfo,以此来检测php.ini的所在 
(因为我在开启CURL的时候,是在php的安装目录配置php.ini,结果一直不生效,后来查了phpinfo才知道php.ini在apache 
的配置文件里被我重定向了) 
2.打开php.ini文件,搜索php_curl.dll,找到后删除前面的“;”,重启apache 
3.如果测试还是找不到curl_init(),就将php目录下的ext目录里的php_curl.dll,和php目录下的libeay32.dll,php5ts.dll,ssleay32.dll 
拷贝至c:\windows\system32下,重启apache 
验证curl扩展是否开启,可在phpinfo()里查找 
也可以使用程序验证

// 1. 初始化 
$ch = curl_init(); 
// 2. 设置选项,包括URL 
curl_setopt($ch, CURLOPT_URL, "http://www.tupc1028.com"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
// 3. 执行并获取HTML文档内容 
$output = curl_exec($ch); 
// 4. 释放curl句柄 
curl_close($ch); 
$output = curl_exec($ch); 
if ($output === FALSE) { 
echo "cURL Error: " . curl_error($ch); 
}