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