From 7b7ab0befcd90387546fbd5bda452604795ad555 Mon Sep 17 00:00:00 2001 From: Andrey Zelenchuk Date: Tue, 19 May 2015 17:11:43 +0600 Subject: [PATCH 1/2] Separate Unix domain socket filepath and script filepath into two command line arguments. --- fcgiget.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/fcgiget.php b/fcgiget.php index baabc12..05d0324 100755 --- a/fcgiget.php +++ b/fcgiget.php @@ -23,15 +23,23 @@ if (!isset($_SERVER['argc'])) { die("Command line only\n"); } -if ($_SERVER['argc']<2) { + +function print_usage_and_exit() { echo "Usage: ".$_SERVER['argv'][0]." URI\n\n"; echo "Ex: ".$_SERVER['argv'][0]." localhost:9000/status\n"; - echo "Ex: ".$_SERVER['argv'][0]." unix:/var/run/php-fpm/web.sock/status\n"; + echo "Ex: ".$_SERVER['argv'][0]." unix:/var/run/php-fpm/web.sock /status\n"; exit(1); } -if (preg_match('|^unix:(.*.sock)(/.*)$|', $_SERVER['argv'][1], $reg)) { - $url = parse_url($reg[2]); +if ($_SERVER['argc']<2) { + print_usage_and_exit(); +} + +if (preg_match('|^unix:(.*)$|', $_SERVER['argv'][1], $reg)) { + if ($_SERVER['argc'] < 3) { + print_usage_and_exit(); + } + $url = parse_url($_SERVER['argv'][2]); $sock = $reg[1]; if (!file_exists($sock)) { die("UDS $sock not found\n"); From 4b081a1da4e974f20bfb264ea90c4f68fd068f3e Mon Sep 17 00:00:00 2001 From: Andrey Zelenchuk Date: Tue, 19 May 2015 17:15:08 +0600 Subject: [PATCH 2/2] Show full script path in log and send full script path in SCRIPT_NAME, REQUEST_URI and DOCUMENT_URI. --- fcgiget.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fcgiget.php b/fcgiget.php index 05d0324..051ea0a 100755 --- a/fcgiget.php +++ b/fcgiget.php @@ -54,7 +54,7 @@ function print_usage_and_exit() { die("Malformed URI"); } -$req = '/'.basename($url['path']); +$req = $url['path']; if (isset($url['query'])) { $uri = $req .'?'.$url['query']; } else {