鍍金池/ 問(wèn)答/PHP  HTML/ fopen(): SSL operation failed with code

fopen(): SSL operation failed with code 1.

fopen(): SSL operation failed with code 1. OpenSSL Error messages:
error:140943FC:SSL routines:SSL3_READ_BYTES:sslv3 alert bad record mac

請(qǐng)問(wèn)這是什么問(wèn)題?怎么解決?我的運(yùn)行環(huán)境是PHP7

回答
編輯回答
檸檬藍(lán)

運(yùn)行環(huán)境

openssl version LibreSSL 2.2.7
php -v PHP 7.1.16 (cli)
<?php
var_dump(fopen('https://www.baidu.com/', 'r'));

執(zhí)行以上命令未遇到問(wèn)題, 應(yīng)該是服務(wù)器ssl版本較高

嘗試如下方案

方案一: 修改PHP配置

修改 openssl.cafile 為 openssl_get_cert_locations() 中的 default_cert_file
openssl.cafile=/private/etc/ssl/cert.pem

方案二: 升級(jí)本機(jī)OpenSSL

方案三: 使用curl調(diào)過(guò)ssl檢查

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); //這個(gè)是重點(diǎn),規(guī)避ssl的證書(shū)檢查。
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 跳過(guò)host驗(yàn)證

如果這些方面都不可行, 咱再溝通。

2017年8月8日 01:53