From d57d2fcf82a567052a082ee9af5074deee04a73d Mon Sep 17 00:00:00 2001 From: Vitor Mattos Date: Wed, 29 Jan 2025 17:49:57 -0300 Subject: [PATCH] fix: prevent warning of fsockopen Fixed: Unable to connect to 127.0.0.1:8888 (Connection refused) Signed-off-by: Vitor Mattos --- lib/Handler/CertificateEngine/CfsslHandler.php | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/Handler/CertificateEngine/CfsslHandler.php b/lib/Handler/CertificateEngine/CfsslHandler.php index ee247b3104..c0dc0c94b4 100644 --- a/lib/Handler/CertificateEngine/CfsslHandler.php +++ b/lib/Handler/CertificateEngine/CfsslHandler.php @@ -272,15 +272,13 @@ private function wakeUp(): void { private function portOpen(): bool { $host = parse_url($this->getCfsslUri(), PHP_URL_HOST); $port = parse_url($this->getCfsslUri(), PHP_URL_PORT); - try { - $socket = fsockopen($host, $port, $errno, $errstr, 0.1); - } catch (\Throwable $th) { - } - if (isset($socket) && is_resource($socket)) { - fclose($socket); - return true; + $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); + if (!$socket) { + return false; } - return false; + socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, ['sec' => 0, 'usec' => 100000]); // 100ms + socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, ['sec' => 0, 'usec' => 100000]); + return @socket_connect($socket, $host, $port); } private function getServerPid(): int {