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