四虎影视在线影院在线观看,小s货再浪些再咬紧点h,国产精品水嫩水嫩,97精产国品一二三产区

無標(biāo)題文檔
wdCP系統(tǒng) (介紹,功能特性,運(yùn)行環(huán)境,安裝說明,演示,常見問題,使用教程) wdCDN系統(tǒng) (介紹,功能特性,運(yùn)行環(huán)境,安裝說明,演示,常見問題,使用手冊(cè))
wdOS系統(tǒng) (介紹,功能特性,運(yùn)行環(huán)境,安裝說明,演示,常見問題,使用教程) wdDNS系統(tǒng) (介紹,功能特性,運(yùn)行環(huán)境,安裝說明,演示,常見問題,使用手冊(cè))
注冊(cè) 發(fā)貼 提問 回復(fù)-必看必看 wddns免費(fèi)智能 DNS 開通 本地或虛擬機(jī)使 用wdcp 一鍵包在mysql編 譯時(shí)"卡住"
AI導(dǎo)航網(wǎng)AI應(yīng)用網(wǎng)站大全 wdcp官方技術(shù)支持/服務(wù) 阿里云8折優(yōu)惠券 無敵云 騰訊云優(yōu)惠中,現(xiàn)注冊(cè)更有260代金額券贈(zèng)送
返回列表 發(fā)帖
提問三步曲: 提問先看教程/FAQ索引(wdcp,wdcp_v3,一鍵包)及搜索,會(huì)讓你更快解決問題
1 提供詳細(xì),如系統(tǒng)版本,wdcp版本,軟件版本等及錯(cuò)誤的詳細(xì)信息,貼上論壇或截圖發(fā)論壇
2 做過哪些操作或改動(dòng)設(shè)置等

溫馨提示:信息不詳,很可能會(huì)沒人理你!論壇有教程說明的,也可能沒人理!因?yàn)?你懂的

[提問] OPENSSL問題,使用fsockopen()函數(shù)提示錯(cuò)誤

本帖最后由 artrogue 于 2017-5-13 08:23 編輯

環(huán)境配置

系統(tǒng)環(huán)境 CentOS7.2
WDCP v3.2.2 lanmp

PHP 多版本 指定使用5.6

OpenSSL 1.0.2h  3 May 2016

php.ini相關(guān)設(shè)置
allow_url_fopen = On
allow_url_include = On
openssl.cafile= /www/wdlinux/nginx/conf/cert/cacert.pem  (后來下載OPENSSL證書放上的)

問題描述

PHP程序中使用

  1. $matches = parse_url($url);

  2. $host = $matches['host'];

  3. $path = $matches['path'] ? $matches['path'].($matches['query'] ? '?'.$matches['query'] : '') : '/';

  4.         $transports = '';

  5.         if($matches['scheme'] == 'https') { //判斷是否使用HTTPS

  6.             $transports = 'ssl://';  //如使用HTTPS則使用SSL協(xié)議

  7.             $port = !empty($matches['port']) ? $matches['port'] : 443; //如使用HTTPS端口使用443

  8.         } else {

  9.             $transports = 'tcp://'; //如沒有使用HTTPS則使用tcp協(xié)議

  10.             $port = !empty($matches['port']) ? $matches['port'] : 80;//如沒有使用HTTPS則使用80端口

  11.         }
  12. $fp = @fsockopen(($transports . $host), $port, $errno, $errstr, $timeout);
復(fù)制代碼


其中此PHP文件運(yùn)行無效果,生成error_log信息如下

  1. <?php exit;?>05-12 20:40:12 | 2 | fsockopen(): SSL operation failed with code 1. OpenSSL Error messages:
  2. error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed | ../client.class.php | 395

  3. <?php exit;?>05-12 20:40:12 | 2 | fsockopen(): Failed to enable crypto | ../client.class.php | 395

  4. <?php exit;?>05-12 20:40:12 | 2 | fsockopen(): unable to connect to ssl://www.xxx.net:443 (Unknown error) | p../client.class.php | 395
復(fù)制代碼



395行就是以上代碼中的 $fp = @fsockopen(($transports . $host), $port, $errno, $errstr, $timeout);

百度很多資料,沒找到相關(guān)PHP報(bào)錯(cuò)的資料,找到一些E文網(wǎng)站,大約是說沒有下載openssl根證書,于是更具資料提示下載OpenSSL根證書,并在php.ini設(shè)置OPENSSL證書位置,還是不能正常運(yùn)行,報(bào)以上錯(cuò)誤,估計(jì)是OPENSSL環(huán)境配置的問題,請(qǐng)admin指點(diǎn)
Win+IIS老司機(jī)
Linux小白

我百度了一些錯(cuò)誤關(guān)鍵詞
OpenSSL Error messages:error:14090086
SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Failed to enable crypto
好像都是說關(guān)于openssl根證書的問題,大神能幫看下如何解決嗎
Win+IIS老司機(jī)
Linux小白

TOP

本帖最后由 artrogue 于 2017-5-14 12:36 編輯

經(jīng)過三天的摸索和查找資料,現(xiàn)在我已確定問題所在
此問題和wdcp無關(guān),和php版本以及openssl相關(guān)

主要是因?yàn)閜hp在5.6版本(包含5.6)以后的所有版本中如使用fsockopen() 或file_get_content()函數(shù)獲取https站點(diǎn)的信息,OPENSSL會(huì)驗(yàn)證對(duì)方站點(diǎn)的SSL證書頒發(fā)機(jī)構(gòu)是否可信,如果沒有下載openssl根證書并在php.ini中設(shè)置openssl根證書路徑,就會(huì)造成無法驗(yàn)證對(duì)方網(wǎng)站SSL證書是否可信,就無法使用上述兩個(gè)函數(shù)獲取到內(nèi)容同時(shí)生成PHP警告信息,php5.6以前的老版本中此驗(yàn)證功能是沒有開啟或者說是沒有作用的。所以php5.6以前的版本不存在此問題!
OpenSSL Error messages:error:14090086
SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Failed to enable crypto

特在此說明原因,同時(shí)希望我這兩天的折騰對(duì)以后遇到同樣問題的朋友有所幫助少走彎路
Win+IIS老司機(jī)
Linux小白

TOP

返回列表