函式名稱:openssl_error_string()
函式描述:openssl_error_string() 函式用於返回最近一次 OpenSSL 操作的錯誤字串。
使用版本:該函式在 PHP 4.0.6 及以上版本可用。
語法:openssl_error_string(): string|false
返回值:返回最近一次 OpenSSL 操作的錯誤字串,如果沒有錯誤發生,則返回 false。
示例:
<?php
// 建立一個無效的 SSL 上下文
$context = stream_context_create([
'ssl' => [
'verify_peer' => true,
'peer_name' => 'example.com',
],
]);
// 開啟一個 SSL 連線並獲取錯誤
$resource = stream_socket_client('ssl://example.com:443', $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context);
if ($resource === false) {
// 獲取 OpenSSL 錯誤字串
$errorString = openssl_error_string();
if ($errorString) {
echo "OpenSSL 錯誤:" . $errorString;
} else {
echo "無法連線到伺服器";
}
}
?>
以上示例中,我們嘗試使用 stream_socket_client() 函式透過 SSL 連線到 example.com 的 443 埠。由於我們使用了無效的 SSL 上下文,連線將失敗。然後,我們使用 openssl_error_string() 函式獲取最近一次 OpenSSL 操作的錯誤字串,並對其進行處理。
請注意,如果沒有發生錯誤,則 openssl_error_string() 函式將返回 false。因此,在處理錯誤之前,我們需要先檢查返回值是否為 false。