file_get_contents函數獲取不到數據的一種情況


問題:

   file_get_contents($url) 獲取不到數據,盡管URL地址正確,函數使用正確。如下代碼

$url = "https://www.baidu.com";
$html = file_get_contents($url);
echo $html;

 

分析解決:

  百思不得解,百度了很多解決方法(很多都只是解決某特定問題),但解決不了目前的問題。

  之后換了好幾個url測試,終於發現上面 $url 是HTTPS地址, file_get_contents() 是能正常獲取到HTTP地址的內容,類似 http://www.baidu.com ,所以應該和PHP的SSL配置有關。

  然后從同事那拷貝了同版本的 php.ini ,用 SVN 自帶的文本比較功能,和我本地 php.ini 比較,發現本地 php.ini 中 extension=php_openssl.dll 注釋掉了,沒開。果斷開啟。

  重啟Apache后,  file_get_contents() 馬上好使了。

 

總結:

  發現  file_get_contents 獲取不到 HTTPS地址 內容時,首先確定PHP是否開啟SSL擴展。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM