首頁 php教程 php手册 file_get_contents无法请求https连接的解决方法

file_get_contents无法请求https连接的解决方法

May 25, 2016 pm 04:45 PM
file_get_contents

PHP.ini默认配置下,用file_get_contents读取https的链接,就会如下错误:

Warning: fopen() [function.fopen]: Unable to find the wrapper “https” – did you forget to enable it when you configured PHP?

解决方案有3:

1.windows下的PHP,只需要到php.ini中把extension=php_openssl.dll前面的;删掉,重启服务就可以了.

2.linux下的PHP,必须安装openssl模块,安装好了以后就可以访问了.

安装方法:

OpenSSL库的安装

官网:http://www.openssl.org

下载页面:http://www.openssl.org/source/

选择最新版本下载

http://www.openssl.org/source/openssl-1.0.0a.tar.gz

解压:tar –zxvf openssl-1.0.0d.tar.gz,解压目录为:openssl-1.0.0d

然后进入到 cd openssl-1.0.0d,进行配置、编译、安装

配置: ./configure或./config

编译

make

安装

make install

3.如果服务器你不能修改配置的话,那么就使用curl函数来替代file_get_contents函数,当然不是简单的替换啊,还有相应的参数配置才能正常使用curl函数.

对curl函数封装如下:

function http_request($url,$timeout=30,$header=array()){ 
	if (!function_exists('curl_init')) { 
		throw new Exception('server not install curl'); 
	}
	$ch = curl_init(); 
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
	curl_setopt($ch, CURLOPT_HEADER, true); 
	curl_setopt($ch, CURLOPT_URL, $url); 
	curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); 
	if (!emptyempty($header)) { 
		curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 
	} 
	$data = curl_exec($ch); 
	list($header, $data) = explode("rnrn", $data); 
	$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
	if ($http_code == 301 || $http_code == 302) { 
		$matches = array(); 
		preg_match('/Location:(.*?)n/', $header, $matches); 
		$url = trim(array_pop($matches)); 
		curl_setopt($ch, CURLOPT_URL, $url); 
		curl_setopt($ch, CURLOPT_HEADER, false); 
		$data = curl_exec($ch); 
	} 
	if ($data == false) { 
		curl_close($ch); 
	} 
	@curl_close($ch); 
	return $data; 
}
登入後複製

               
               

文章网址:

随意转载^^但请附上教程地址。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

兩個點博物館:邦格荒地地點指南
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

兩個點博物館:邦格荒地地點指南
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何解決PHP警告:file_get_contents():無法開啟串流:HTTP請求失敗 如何解決PHP警告:file_get_contents():無法開啟串流:HTTP請求失敗 Aug 18, 2023 pm 11:34 PM

如何解決PHP警告:file_get_contents():無法開啟串流:HTTP請求失敗

如何解決PHP Warning: file_get_contents(): Filename cannot be empty 如何解決PHP Warning: file_get_contents(): Filename cannot be empty Aug 18, 2023 pm 07:30 PM

如何解決PHP Warning: file_get_contents(): Filename cannot be empty

PHP的file_get_contents()函數:如何從檔案讀取內容 PHP的file_get_contents()函數:如何從檔案讀取內容 Nov 04, 2023 pm 01:43 PM

PHP的file_get_contents()函數:如何從檔案讀取內容

PHP檔案快取函數詳解:file_get_contents、file_put_contents、unlink等函數的檔案快取處理方法 PHP檔案快取函數詳解:file_get_contents、file_put_contents、unlink等函數的檔案快取處理方法 Nov 18, 2023 am 09:37 AM

PHP檔案快取函數詳解:file_get_contents、file_put_contents、unlink等函數的檔案快取處理方法

PHP函數介紹—file_get_contents(): 讀取URL的內容到字串 PHP函數介紹—file_get_contents(): 讀取URL的內容到字串 Jul 24, 2023 pm 02:32 PM

PHP函數介紹—file_get_contents(): 讀取URL的內容到字串

如何使用PHP中的file_get_contents函數讀取檔案內容 如何使用PHP中的file_get_contents函數讀取檔案內容 Jun 26, 2023 pm 12:01 PM

如何使用PHP中的file_get_contents函數讀取檔案內容

PHP 5.2函數詳解:如何使用file_get_contents函數讀取檔案內容 PHP 5.2函數詳解:如何使用file_get_contents函數讀取檔案內容 Jul 29, 2023 pm 04:09 PM

PHP 5.2函數詳解:如何使用file_get_contents函數讀取檔案內容

PHP函數介紹—file_get_contents(): 讀取檔案內容到字串 PHP函數介紹—file_get_contents(): 讀取檔案內容到字串 Jul 24, 2023 pm 06:40 PM

PHP函數介紹—file_get_contents(): 讀取檔案內容到字串

See all articles