From: Matteo Beccati Date: Wed, 1 Apr 2020 16:14:25 +0000 (+0200) Subject: Allow fpm tests to be run with long socket path X-Git-Tag: php-7.4.7RC1~87 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=af337ae47e7b66d8c8edcd0abb1d05f530998f42;p=php Allow fpm tests to be run with long socket path Socket path is restricted to ~100 bytes, so we can use the system temp dir if the path ends up too long. --- diff --git a/sapi/fpm/tests/tester.inc b/sapi/fpm/tests/tester.inc index e553e94f15..d63e8a7250 100644 --- a/sapi/fpm/tests/tester.inc +++ b/sapi/fpm/tests/tester.inc @@ -856,7 +856,17 @@ class Tester { $port = $this->getPort($type, $pool, true); if ($type === 'uds') { - return $this->getFile($port . '.sock'); + $address = $this->getFile($port . '.sock'); + + // Socket max path length is 108 on Linux and 104 on BSD, + // so we use the latter + if (strlen($address) <= 104) { + return $address; + } + + return sys_get_temp_dir().'/'. + hash('crc32', dirname($address)).'-'. + basename($address); } return $this->getHost($type) . ':' . $port;