本文通過兩種方法解決PHP中file_get_contents函數抓取https地址出錯,需要的朋友可以參考下
方法一:
在php中,抓取https的網站,提示如下的錯誤內容:
Warning: file_get_contents() [function.file-get-contents]: failed to open stream: Invalid argument in I:Webmyphpa.php on line 16
打開php.ini文件找到 ;extension=php_openssl.dll ,去掉雙引號”;” ,重啟web服務器即可。
apache服務器的話,可以同時啟用mod_ssl模塊測試。
如果不方便修改服務器配置,可以參考使用如下的函數來解決:
代碼示例:
- <?php
- //file_get_contents抓取https地址內容
- function getCurl($url){
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL,$url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
- $result = curl_exec($ch);
- curl_close ($ch);
- return $result;
- }
方法二:
在php中,利用file_get_contents函數抓取url是https開頭的網站網頁內容時,會出現類似下面的錯誤警告:
Warning: file_get_contents(https://127.0.0.1/index.php) [function.file-get-contents]: failed to open stream: Invalid argument in E:/website/blog/test.php on line 25
打開php.ini找到 ;extension=php_openssl.dll ,去掉雙引號”;” ,重啟web服務器即可。
apache的可以同時啟用mod_ssl模塊測試
以上內容給大家分享了兩種方法解決PHP中file_get_contents函數抓取https地址出錯,希望對大家有所幫助。
新聞熱點
疑難解答