国产失禁大喷潮在线观看,免费女人高潮流视频在线,国产午夜精品理论片久久影院 ,善良的小峓子完整版在线观看
標(biāo)題:
[提問(wèn)]
OPENSSL問(wèn)題,使用fsockopen()函數(shù)提示錯(cuò)誤
[打印本頁(yè)]
作者:
artrogue
時(shí)間:
2017-5-13 07:57
標(biāo)題:
OPENSSL問(wèn)題,使用fsockopen()函數(shù)提示錯(cuò)誤
本帖最后由 artrogue 于 2017-5-13 08:23 編輯
環(huán)境配置
系統(tǒng)環(huán)境 CentOS
7.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 (后來(lái)下載OPENSSL證書放上的)
問(wèn)題描述
PHP程序中使用
$matches = parse_url($url);
$host = $matches['host'];
$path = $matches['path'] ? $matches['path'].($matches['query'] ? '?'.$matches['query'] : '') : '/';
$transports = '';
if($matches['scheme'] == 'https') { //判斷是否使用HTTPS
$transports = 'ssl://'; //如使用HTTPS則使用SSL協(xié)議
$port = !empty($matches['port']) ? $matches['port'] : 443; //如使用HTTPS端口使用443
} else {
$transports = 'tcp://'; //如沒(méi)有使用HTTPS則使用tcp協(xié)議
$port = !empty($matches['port']) ? $matches['port'] : 80;//如沒(méi)有使用HTTPS則使用80端口
}
$fp = @fsockopen(($transports . $host), $port, $errno, $errstr, $timeout);
復(fù)制代碼
其中此PHP文件運(yùn)行無(wú)效果,生成error_log信息如下
<?php exit;?>05-12 20:40:12 | 2 | fsockopen(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed | ../client.class.php | 395
<?php exit;?>05-12 20:40:12 | 2 | fsockopen(): Failed to enable crypto | ../client.class.php | 395
<?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);
百度很多資料,沒(méi)找到相關(guān)PHP報(bào)錯(cuò)的資料,找到一些E文網(wǎng)站,大約是說(shuō)沒(méi)有下載openssl根證書,于是更具資料提示下載OpenSSL根證書,并在php.ini設(shè)置OPENSSL證書位置,還是不能正常運(yùn)行,報(bào)以上錯(cuò)誤,估計(jì)是OPENSSL環(huán)境配置的問(wèn)題,請(qǐng)admin指點(diǎn)
作者:
artrogue
時(shí)間:
2017-5-13 08:58
我百度了一些錯(cuò)誤關(guān)鍵詞
OpenSSL Error messages:error:14090086
SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Failed to enable crypto
好像都是說(shuō)關(guān)于openssl根證書的問(wèn)題,大神能幫看下如何解決嗎
作者:
artrogue
時(shí)間:
2017-5-14 12:35
本帖最后由 artrogue 于 2017-5-14 12:36 編輯
經(jīng)過(guò)三天的摸索和查找資料,現(xiàn)在我已確定問(wèn)題所在
此問(wèn)題和wdcp無(wú)關(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)是否可信,如果沒(méi)有下載openssl根證書并在php.ini中設(shè)置openssl根證書路徑,就會(huì)造成無(wú)法驗(yàn)證對(duì)方網(wǎng)站SSL證書是否可信,就無(wú)法使用上述兩個(gè)函數(shù)獲取到內(nèi)容同時(shí)生成PHP警告信息,php5.6以前的老版本中此驗(yàn)證功能是沒(méi)有開啟或者說(shuō)是沒(méi)有作用的。所以php5.6以前的版本不存在此問(wèn)題!
OpenSSL Error messages:error:14090086
SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Failed to enable crypto
特在此說(shuō)明原因,同時(shí)希望我這兩天的折騰對(duì)以后遇到同樣問(wèn)題的朋友有所幫助少走彎路
歡迎光臨 WDlinux官方論壇 (http://www.xcs168.com/bbs/)
Powered by Discuz! 7.2