我一直在尝试在我的网站上使用Gmail登录。但是我得到了"stream_get_contents():SSL操作在代码1中失败。OpenSSL错误消息:错误:0A000126:SSL例程::意外的eof在读取时“网站构建在yii2上并托管在aws上的nginx服务器上。
php -i | grep -i openssl
SSL Version => OpenSSL/3.0.2
libSSH Version => libssh/0.9.6/openssl/zlib
openssl
OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 3.0.2 15 Mar 2022
OpenSSL Header Version => OpenSSL 3.0.2 15 Mar 2022
Openssl default config => /usr/lib/ssl/openssl.cnf
openssl.cafile => /usr/lib/ssl/cert.pem => /usr/lib/ssl/cert.pem
openssl.capath => no value => no value
Native OpenSSL support => enabled
openssl version
OpenSSL 1.0.1f 6 Jan 2014
引发异常的文件的位置
project-root-path/vendor/yiisoft/yii2-httpclient/src/StreamTransport.php在第63行
public function send($request)
{
$request->beforeSend();
$request->prepare();
$url = $request->getFullUrl();
$method = strtoupper($request->getMethod());
$contextOptions = [
'http' => [
'method' => $method,
'ignore_errors' => true,
],
'ssl' => [
'verify_peer' => false,
],
];
$content = $request->getContent();
if ($content !== null) {
$contextOptions['http']['content'] = $content;
}
$headers = $request->composeHeaderLines();
$contextOptions['http']['header'] = $headers;
$contextOptions = ArrayHelper::merge($contextOptions, $this->composeContextOptions($request->getOptions()));
$token = $request->client->createRequestLogToken($method, $url, $headers, $content);
Yii::info($token, __METHOD__);
Yii::beginProfile($token, __METHOD__);
try {
$context = stream_context_create($contextOptions);
$stream = fopen($url, 'rb', false, $context);
$responseContent = stream_get_contents($stream);
// see http://php.net/manual/en/reserved.variables.httpresponseheader.php
$responseHeaders = $http_response_header;
fclose($stream);
} catch (\Exception $e) {
Yii::endProfile($token, __METHOD__);
throw new Exception($e->getMessage(), $e->getCode(), $e); // this is line number 63
}
Yii::endProfile($token, __METHOD__);
$response = $request->client->createResponse($responseContent, $responseHeaders);
$request->afterSend($response);
return $response;
}
发布于 2022-06-12 15:37:46
刚刚开始有这个问题,经过一些研究后,这似乎是一个问题与OpenSSL自由:https://bugs.php.net/bug.php?id=79589
PHP8.1.7已经附带了一个修复程序,所以更新您的PHP可能会修复以下问题:https://www.php.net/ChangeLog-8.php#8.1.7
https://stackoverflow.com/questions/72532373
复制相似问题