你需要做类似这样的事情来清除它
while(openssl_error_string() !== false);
一些 openssl 函数即使成功也会将错误添加到列表中。
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
openssl_error_string — 返回 openSSL 错误消息
openssl_error_string() 返回 openSSL 库中的最后一个错误。错误消息是排队的,因此应该多次调用此函数以收集所有信息。最后一个错误将是最新的错误。
此函数没有参数。
返回一个错误消息字符串,如果没有更多错误消息要返回,则返回 false
。
示例 #1 openssl_error_string() 示例
<?php
// 假设你刚刚调用了一个失败的 openssl 函数
while ($msg = openssl_error_string())
echo $msg . "<br />\n";
?>
请注意,一个错误可能会有两行(或更多行)。
最好在每次 openssl 调用之前和之后清除它并读取它。
PS
没有“线程”,如果另一个库没有足够的理智在他们的 openssl 调用之前和之后读取(因此清除)消息队列(呃,出队)…
A) 那是他们的问题
B) 寻找一个新的库,因为没有这样做意味着他们没有正确地编写他们的代码。