方法一:
在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地址出錯,希望對大家有所幫助。