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; }
文章网址:
随意转载^^但请附上教程地址。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

WebStorm Mac版
便利なJavaScript開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
