Skip to content

Commit d57d2fc

Browse files
committed
fix: prevent warning of fsockopen
Fixed: Unable to connect to 127.0.0.1:8888 (Connection refused) Signed-off-by: Vitor Mattos <vitor@php.rio>
1 parent 5926524 commit d57d2fc

1 file changed

Lines changed: 6 additions & 8 deletions

File tree

lib/Handler/CertificateEngine/CfsslHandler.php

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -272,15 +272,13 @@ private function wakeUp(): void {
272272
private function portOpen(): bool {
273273
$host = parse_url($this->getCfsslUri(), PHP_URL_HOST);
274274
$port = parse_url($this->getCfsslUri(), PHP_URL_PORT);
275-
try {
276-
$socket = fsockopen($host, $port, $errno, $errstr, 0.1);
277-
} catch (\Throwable $th) {
278-
}
279-
if (isset($socket) && is_resource($socket)) {
280-
fclose($socket);
281-
return true;
275+
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
276+
if (!$socket) {
277+
return false;
282278
}
283-
return false;
279+
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, ['sec' => 0, 'usec' => 100000]); // 100ms
280+
socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, ['sec' => 0, 'usec' => 100000]);
281+
return @socket_connect($socket, $host, $port);
284282
}
285283

286284
private function getServerPid(): int {

0 commit comments

Comments
 (0)