这是错误日志,我不知道如何解决这个问题。
[1月25日10:39:42.689306 2018] [:错误] [pid 21084] PHP警告:fgets():SSL操作失败,代码为1。 OpenSSL错误消息:
错误:06065064:数字包络例程:EVP_DecryptFinal_ex:错误解密
错误:06065064:数字包络例程:EVP_DecryptFinal_ex:错误解密
错误:06065064:数字包络例程:EVP_DecryptFinal_ex: bad decrypt
错误:06065064:数字信封例程:EVP_DecryptFinal_ex:第156行的../vendor/pear-pear.horde.org/Horde_Imap_Client/Horde/Imap/Client/Socket/Connection/Socket.php中的解密错误
public function read($size = null)
{
$got_data = false;
$literal_len = null;
$token = new Horde_Imap_Client_Tokenize();
do {
if (feof($this->_stream)) {
$this->close();
$this->_params['debug']->info(
'ERROR: Server closed the connection.'
);
throw new Horde_Imap_Client_Exception(
Horde_Imap_Client_Translation::r("Mail server closed the connection unexpectedly."),
Horde_Imap_Client_Exception::DISCONNECT
);
}
if (is_null($literal_len)) {
$buffer = '';
while (($in = fgets($this->_stream)) !== false) {
$got_data = true;
if (substr($in, -1) === "\n") {
$in = rtrim($in);
$this->_params['debug']->server($buffer . $in);
$token->add($in);
break;
}
$buffer .= $in;
$token->add($in);
}
/* Check for literal data. */
if (is_null($len = $token->getLiteralLength())) {
break;
}
// Skip 0-length literal data.
if ($len['length']) {
$binary = $len['binary'];
$literal_len = $len['length'];
}
continue;
}
$old_len = $literal_len;
while (($literal_len > 0) && !feof($this->_stream)) {
$in = fread($this->_stream, min($literal_len, 8192));
/* Only store in stream if this is something more than a
* nominal number of bytes. */
if ($old_len > 256) {
$token->addLiteralStream($in);
} else {
$token->add($in);
}
if (!empty($this->_params['debugliteral'])) {
$this->_params['debug']->raw($in);
}
$got_data = true;
$literal_len -= strlen($in);
}
$literal_len = null;
if (empty($this->_params['debugliteral'])) {
$this->_params['debug']->server('[' . ($binary ? 'BINARY' : 'LITERAL') . ' DATA: ' . $old_len . ' bytes]');
}
} while (true);
if (!$got_data) {
$this->_params['debug']->info('ERROR: read/timeout error.');
throw new Horde_Imap_Client_Exception(
Horde_Imap_Client_Translation::r("Error when communicating with the mail server."),
Horde_Imap_Client_Exception::SERVER_READERROR
);
}
return $token;
}
错误出现在
while (($in = fgets($this->_stream)) !== false) {
我在同一台服务器上有另一个应用程序实例,其设置相同,只是不同的数据库和域名。
其他实例似乎工作正常,没有出现此错误的问题。
注意:Horde是一种用于发送电子邮件的PHP库。
任何人都可以帮助我吗?
答案 0 :(得分:-1)
请尝试更改您的设置,如下所示:
<?php
$yourArrayOptions=array(
"ssl"=>array(
"verify_peer"=>false,
"verify_peer_name"=>false,
),
)
$response = file_get_contents("fileName", false,
stream_context_create($yourArrayOptions));
echo $response; ?>
请点击此处获取更好的解释file_get_contents(): SSL operation failed with code 1. And more