本文通過兩種方法解決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地址出錯,希望對大家有所協助。