关于PHP的curl开启问题探讨

  今天在做一个新浪登录功能,新浪提供的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);

  }