|
|
|
|
|
今天想通過php的curl_init()函數(shù)獲得網(wǎng)頁header信息,但是一開始就遇到許多不順,其中最大的問題是curl_init()函數(shù)執(zhí)行報(bào)錯(cuò),不過經(jīng)過一般摸索,總算找到了解決問題的方法。
如下面非常簡單的程序代碼
<?php
$ch = curl_init();
// 設(shè)置URL和相應(yīng)的選項(xiàng)
curl_setopt($ch, CURLOPT_URL, "http://howtostagehomes.com/");
curl_setopt($ch, CURLOPT_HEADER, true);
// 抓取URL并把它傳遞給瀏覽器
curl_exec($ch);
//關(guān)閉cURL資源,并且釋放系統(tǒng)資源
curl_close($ch);
?>
通過該程序代碼,可以打開目標(biāo)網(wǎng)頁并顯示其header信息。
此程序代碼看似簡單,但是一般配置的php環(huán)境還不一定能執(zhí)行成功。有的php環(huán)境配置里禁用了curl_exe()函數(shù),導(dǎo)致不能執(zhí)行;而如果php環(huán)境配置沒有允許curl_init()函數(shù),也同樣不能執(zhí)行。我今天遇到的問題就是沒有配置好curl_init()的執(zhí)行條件,導(dǎo)致出現(xiàn)如下錯(cuò)誤提示:Call to undefined function curl_init,通過一番摸索,解決方法如下:
1、修改php.ini文件。
這個(gè)文件在你的php安裝目錄里,如c:\php\。如果沒有發(fā)現(xiàn)該文件,就把php.ini-dist這個(gè)文件的擴(kuò)展名改為.ini即可。
用記事本打開該文件,在文件中搜索 extension_dir = “./”,將等號后面的路徑修改為 “c:\php\ext”(注:“c:\php\”是php安裝目錄)。
搜索“;extension=php_gd2.dll”、“;extension=php_mysql.dll”,去掉前面的分號。
搜索“;extension=php_curl.dll”,去掉前面的分號。(這個(gè)設(shè)置是允許你的php環(huán)境執(zhí)行php_curl()函數(shù))
保存php.ini,將它拷貝至windows文件夾下。
2、在剛才設(shè)置的extension_dir目錄下檢查有無php_curl.dll,沒有的請?jiān)诰W(wǎng)上下載一個(gè)php_curl.dll。
3、把php目錄中的libeay32.dll和ssleay32.dll拷到c:\windows\system32里面。
4、最后要重啟IIS。IIS重啟方法:在dos里輸入 iisreset /restart 即可。
這樣,問題就可以解決了。
curl_exec()禁用了如何解決?
同樣需要修改php.ini文件,查找disable_functions,把curl_exec()去掉即可。
手動配置php環(huán)境我現(xiàn)在覺得過于麻煩了,我現(xiàn)在都是用星外PHP全自動安裝30秒搞定,強(qiáng)烈推薦使用哦。