You need to do something like this to clear it:
while(openssl_error_string() !== false);
Some openssl functions will add errors to the list even if they succeed.
PHP - Manual: openssl_error_string
2024-11-14
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
openssl_error_string — 返回 openSSL 错误消息
openssl_error_string() 从openSSL库返回最后一个错误。错误消息已被队列化,因此这个函数可以多次调用用来收集所有的信息。最后一个错误将是最近的一个。
成功,返回错误信息字符串,如果没有任何错误信息则返回 false
。
示例 #1 openssl_error_string() example
<?php
// lets assume you just called an openssl function that failed
while ($msg = openssl_error_string())
echo $msg . "<br />\n";
?>
You need to do something like this to clear it:
while(openssl_error_string() !== false);
Some openssl functions will add errors to the list even if they succeed.
Note that there may be two (or more) lines for one error.
Best to clear it out and read it for each openssl call.
PS
There are no "threads" and if the other library doesn't have enough sense to read (and therefore clear) the queue (errr, dequeue) of messages before and after their openssl calls...
A) That's their problem
B) Look for a new library, because NOT doing that means they aren't writing their code properly.
官方地址:https://www.php.net/manual/en/function.openssl-error-string.php