PS:好久没更新了,主要最近在研究ThinkPHP,搞得自己焦头烂额的T_T
之前写过一篇《PHP抓取基金净值并计算》,当时使用的是file_get_contents($url)这个方法,虽然成功抓取到了所需要的数据,但是效率还是低了些,所以打算换cURL扩展来提升下抓取效率。
先说下我的系统配置:64位的WIN10系统,自己手动配置的Apache24、PHP5.6.27以及MySQL5.7。
具体配置方法如下:
1.打开PHP中的php.ini文件(记事本就可以),搜索找到
;extension=php_curl.dll
这个文件,将前面的;
去掉,来启动cURL;
2.接着在php.ini中查找到
extension_dir = "./"
这个文件,为其指定php的ext扩展库路径,我的是在E盘,所以配置如下:extension_dir = "E:/Myanv/php-5.6.27/ext"
;
3.按照网上的普遍做法是将
libeay32.dll
、ssleay32.dll
、php5ts.dll
、php_curl.dll
这四个文件拷贝到系统的system32
文件夹下;
4.重启Apache;
5.恭喜你能用了!
如此简单,好开心,然后我就在PHP里面写cURL准备抓取网页内容了,决定先拿新浪来练手(来来来,小宝贝,别害羞嘛)
//初始化
$ch = curl_init();
//设置选项,包括URL
curl_setopt($ch,CURLOPT_URL,"www.sina.com");
curl_setopt($ch,CURLOPT_HEADER,1);
curl_exec($ch);
//释放cRUL句柄
curl_close($ch);
OK!输出!
这里我是重新模拟了下,因为后来已经配置成功了 喵喵喵?!所以我就开始在网上疯狂查找是怎么回事,并尝试着将libeay32.dll
、ssleay32.dll
、php5ts.dll
、php_curl.dll
这四个文件拷贝到系统目录下的SysWOW64
下,之后发现还是不行。
在兜了一大圈之后发现,原来是因为Apache的bin目录下缺少libeay32.dll
、libssh2.dll
、ssleay32.dll
这三个文件,所以解决措施也就很明确了。
6.将
libeay32.dll
、libssh2.dll
、ssleay32.dll
这三个文件复制粘贴到Apache/bin目录下;
7.重启Apache。
终于可以使用了8.运行cURL()
总结一下
在php.ini开启了cURL扩展之后,有三种选择:
1.将libeay32.dll
、ssleay32.dll
、php5ts.dll
、php_curl.dll
这四个文件拷贝到系统的system32
文件夹下;
2.将
libeay32.dll
、ssleay32.dll
、php5ts.dll
、php_curl.dll
这四个文件拷贝到系统目录下的SysWOW64
下;
3.将
libeay32.dll
、libssh2.dll
、ssleay32.dll
这三个文件复制粘贴到Apache/bin目录下;
然后就可以使用cURL扩展了(应该吧)
网友评论