关于PHP的curl开启问题探讨

yipeiwu_com5年前PHP代码库
今天在做一个新浪登录功能,新浪提供的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);
}

相关文章

使用GDB调试PHP代码,解决PHP代码死循环问题

最近在帮同事解决Swoole Server问题时,发现有1个worker进程一直处于R的状态,而且CPU耗时非常高。初步断定是PHP代码中发生死循环。 下面通过一段代码展示如何解决PHP...

php通过COM类调用组件的实现代码

在PHP 4.2.0 至 4.2.3中,可以使用w32api_register_function 函数调用外部的DLL,前提是需要在php.ini中打开扩展的php_w32api.dll...

PHP中return 和 exit 、break和contiue 区别与用法

先说一下exit函数的用法。 作用: 输出一则消息并且终止当前脚本。 如果一段文本中包括多个以 结束的脚本,则exit退出当前所在脚本。 比如一篇php文本包括一下代码,则输出为worl...

PHP获取用户的浏览器与操作系统信息的代码

1.用户访问服务器时,利用PHP的超级全局变量$_SERVER数组中字段['HTTP_USER_AGENT'] 获取访问用户的所有信息 我访问时的$_SERVER['HTTP_USER_...

php事务处理实例详解

一、php事务处理概述: 事务:是若干事件的集合 事务处理:当所有事件执行成功,事务才执行;若有任何一个事件不能成功执行,事务的其它事件也不被执行。 只要你的MySQL版本支持BDB或I...