2013年11月5日 星期二

[PHP]CURL常遇錯誤(call to undefined function curl_init)

今天實作php的curl功能,
畢擷取和傳送資料是很重要的功能,
以前有fopen()可以用,後來發現curl更強大,寫起來也更簡潔,
不過在實做時,碰到了這樣的問題,

code is here:
<?php
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_URL, "www.yahoo.com.tw");
 curl_setopt($ch, CURLOPT_HEADER, false);
 curl_setopt($ch, CURLOPT_USERAGENT, "Google Bot");
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
 $output = curl_exec($ch);
 curl_close($ch);
 echo $output;
?>
上網google發現是蠻常見的問題,
記下解決方法,方便大家參考,
可能原因
1.curl沒被啟用
2.缺少curl.dll檔

首先:
1. 打開php.ini->搜尋"extension=php_curl.dll"->去掉前面的";"->save->即可重啟apache

2. 如果方法1沒有解決問題->同樣在php.ini搜尋"extension_dir"->查目錄位址->到該目錄下檢查是否有"php_curl.dll"->沒有的話就下載 php_curl.dll

->搞定之後->把php目錄中的"libeay32.dll"和"ssleay32.dll"copy至c:\windows\system32裡面->重啟apache
Finish!

成功把Yahoo網頁抓過來了.

沒有留言:

張貼留言