Skip to content

Commit 5fb29c7

Browse files
committed
suggestions
1 parent 786b6be commit 5fb29c7

3 files changed

Lines changed: 79 additions & 55 deletions

File tree

caddy/caddy_test.go

Lines changed: 64 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -512,25 +512,29 @@ func TestPHPServerGlobals(t *testing.T) {
512512
tester.AssertGetResponse(
513513
"http://localhost:"+testPort+"/en",
514514
http.StatusOK,
515-
"SCRIPT_NAME: /server-globals.php<br>"+
516-
"SCRIPT_FILENAME: "+scriptFilename+"<br>"+
517-
"PHP_SELF: /server-globals.php<br>"+
518-
"PATH_INFO: <br>"+
519-
"DOCUMENT_ROOT: "+documentRoot+"<br>"+
520-
"REQUEST_URI: /en<br>",
515+
fmt.Sprintf(`SCRIPT_NAME: /server-globals.php
516+
SCRIPT_FILENAME: %s
517+
PHP_SELF: /server-globals.php
518+
PATH_INFO:
519+
DOCUMENT_ROOT: %s
520+
DOCUMENT_URI: /server-globals.php
521+
REQUEST_URI: /en
522+
`, scriptFilename, documentRoot),
521523
)
522524

523525
// Request to /server-globals.php/en: explicit PHP file with path info
524526
// SCRIPT_NAME should be /server-globals.php, PHP_SELF should be /server-globals.php/en, PATH_INFO should be /en
525527
tester.AssertGetResponse(
526528
"http://localhost:"+testPort+"/server-globals.php/en",
527529
http.StatusOK,
528-
"SCRIPT_NAME: /server-globals.php<br>"+
529-
"SCRIPT_FILENAME: "+scriptFilename+"<br>"+
530-
"PHP_SELF: /server-globals.php/en<br>"+
531-
"PATH_INFO: /en<br>"+
532-
"DOCUMENT_ROOT: "+documentRoot+"<br>"+
533-
"REQUEST_URI: /server-globals.php/en<br>",
530+
fmt.Sprintf(`SCRIPT_NAME: /server-globals.php
531+
SCRIPT_FILENAME: %s
532+
PHP_SELF: /server-globals.php/en
533+
PATH_INFO: /en
534+
DOCUMENT_ROOT: %s
535+
DOCUMENT_URI: /server-globals.php
536+
REQUEST_URI: /server-globals.php/en
537+
`, scriptFilename, documentRoot),
534538
)
535539
}
536540

@@ -592,70 +596,82 @@ func TestWorkerPHPServerGlobals(t *testing.T) {
592596
tester.AssertGetResponse(
593597
"http://localhost:"+testPort+"/en",
594598
http.StatusOK,
595-
"SCRIPT_NAME: /server-globals.php<br>"+
596-
"SCRIPT_FILENAME: "+scriptFilename+"<br>"+
597-
"PHP_SELF: /server-globals.php<br>"+
598-
"PATH_INFO: <br>"+
599-
"DOCUMENT_ROOT: "+documentRoot+"<br>"+
600-
"REQUEST_URI: /en<br>",
599+
fmt.Sprintf(`SCRIPT_NAME: /server-globals.php
600+
SCRIPT_FILENAME: %s
601+
PHP_SELF: /server-globals.php
602+
PATH_INFO:
603+
DOCUMENT_ROOT: %s
604+
DOCUMENT_URI: /server-globals.php
605+
REQUEST_URI: /en
606+
`, scriptFilename, documentRoot),
601607
)
602608

603609
tester.AssertGetResponse(
604610
"http://localhost:"+testPort+"/server-globals.php/en",
605611
http.StatusOK,
606-
"SCRIPT_NAME: /server-globals.php<br>"+
607-
"SCRIPT_FILENAME: "+scriptFilename+"<br>"+
608-
"PHP_SELF: /server-globals.php/en<br>"+
609-
"PATH_INFO: /en<br>"+
610-
"DOCUMENT_ROOT: "+documentRoot+"<br>"+
611-
"REQUEST_URI: /server-globals.php/en<br>",
612+
fmt.Sprintf(`SCRIPT_NAME: /server-globals.php
613+
SCRIPT_FILENAME: %s
614+
PHP_SELF: /server-globals.php/en
615+
PATH_INFO: /en
616+
DOCUMENT_ROOT: %s
617+
DOCUMENT_URI: /server-globals.php
618+
REQUEST_URI: /server-globals.php/en
619+
`, scriptFilename, documentRoot),
612620
)
613621

614622
// === Site 2: php_server with its own worker ===
615623
// because the request does not specify a php file, PATH_INFO should be empty
616624
tester.AssertGetResponse(
617625
"http://localhost:"+testPortTwo+"/en",
618626
http.StatusOK,
619-
"SCRIPT_NAME: /server-globals.php<br>"+
620-
"SCRIPT_FILENAME: "+scriptFilename+"<br>"+
621-
"PHP_SELF: /server-globals.php<br>"+
622-
"PATH_INFO: <br>"+
623-
"DOCUMENT_ROOT: "+documentRoot+"<br>"+
624-
"REQUEST_URI: /en<br>",
627+
fmt.Sprintf(`SCRIPT_NAME: /server-globals.php
628+
SCRIPT_FILENAME: %s
629+
PHP_SELF: /server-globals.php
630+
PATH_INFO:
631+
DOCUMENT_ROOT: %s
632+
DOCUMENT_URI: /server-globals.php
633+
REQUEST_URI: /en
634+
`, scriptFilename, documentRoot),
625635
)
626636

627637
tester.AssertGetResponse(
628638
"http://localhost:"+testPortTwo+"/server-globals.php/en",
629639
http.StatusOK,
630-
"SCRIPT_NAME: /server-globals.php<br>"+
631-
"SCRIPT_FILENAME: "+scriptFilename+"<br>"+
632-
"PHP_SELF: /server-globals.php/en<br>"+
633-
"PATH_INFO: /en<br>"+
634-
"DOCUMENT_ROOT: "+documentRoot+"<br>"+
635-
"REQUEST_URI: /server-globals.php/en<br>",
640+
fmt.Sprintf(`SCRIPT_NAME: /server-globals.php
641+
SCRIPT_FILENAME: %s
642+
PHP_SELF: /server-globals.php/en
643+
PATH_INFO: /en
644+
DOCUMENT_ROOT: %s
645+
DOCUMENT_URI: /server-globals.php
646+
REQUEST_URI: /server-globals.php/en
647+
`, scriptFilename, documentRoot),
636648
)
637649

638650
// === Site 3: php_server with its own match worker ===
639651
tester.AssertGetResponse(
640652
"http://localhost:"+testPortThree+"/en",
641653
http.StatusOK,
642-
"SCRIPT_NAME: <br>"+
643-
"SCRIPT_FILENAME: "+scriptFilename+"<br>"+
644-
"PHP_SELF: <br>"+
645-
"PATH_INFO: <br>"+
646-
"DOCUMENT_ROOT: "+documentRoot2+"<br>"+
647-
"REQUEST_URI: /en<br>",
654+
fmt.Sprintf(`SCRIPT_NAME:
655+
SCRIPT_FILENAME: %s
656+
PHP_SELF:
657+
PATH_INFO:
658+
DOCUMENT_ROOT: %s
659+
DOCUMENT_URI:
660+
REQUEST_URI: /en
661+
`, scriptFilename, documentRoot2),
648662
)
649663

650664
tester.AssertGetResponse(
651665
"http://localhost:"+testPortThree+"/server-globals.php/en",
652666
http.StatusOK,
653-
"SCRIPT_NAME: <br>"+
654-
"SCRIPT_FILENAME: "+scriptFilename+"<br>"+
655-
"PHP_SELF: <br>"+
656-
"PATH_INFO: <br>"+
657-
"DOCUMENT_ROOT: "+documentRoot2+"<br>"+
658-
"REQUEST_URI: /server-globals.php/en<br>",
667+
fmt.Sprintf(`SCRIPT_NAME:
668+
SCRIPT_FILENAME: %s
669+
PHP_SELF:
670+
PATH_INFO:
671+
DOCUMENT_ROOT: %s
672+
DOCUMENT_URI:
673+
REQUEST_URI: /server-globals.php/en
674+
`, scriptFilename, documentRoot2),
659675
)
660676
}
661677

cgi.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,7 @@ func splitCgiPath(fc *frankenPHPContext) {
217217
if strings.HasPrefix(fc.worker.fileName, docRootWithSep) {
218218
fc.scriptName = filepath.ToSlash(strings.TrimPrefix(fc.worker.fileName, fc.documentRoot))
219219
} else {
220+
fc.docURI = ""
220221
fc.pathInfo = ""
221222
}
222223
return

testdata/server-globals.php

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,20 @@
22

33
ignore_user_abort(true);
44

5-
$handler = static function() {
6-
echo "SCRIPT_NAME: " . ($_SERVER['SCRIPT_NAME'] ?? '(not set)') . "<br>";
7-
echo "SCRIPT_FILENAME: " . ($_SERVER['SCRIPT_FILENAME'] ?? '(not set)') . "<br>";
8-
echo "PHP_SELF: " . ($_SERVER['PHP_SELF'] ?? '(not set)') . "<br>";
9-
echo "PATH_INFO: " . ($_SERVER['PATH_INFO'] ?? '(not set)') . "<br>";
10-
echo "DOCUMENT_ROOT: " . ($_SERVER['DOCUMENT_ROOT'] ?? '(not set)') . "<br>";
11-
echo "REQUEST_URI: " . ($_SERVER['REQUEST_URI'] ?? '(not set)') . "<br>";
5+
$server_vars = [
6+
'SCRIPT_NAME',
7+
'SCRIPT_FILENAME',
8+
'PHP_SELF',
9+
'PATH_INFO',
10+
'DOCUMENT_ROOT',
11+
'DOCUMENT_URI',
12+
'REQUEST_URI',
13+
];
14+
$handler = static function() use ($server_vars) {
15+
foreach ($server_vars as $var) {
16+
$value = $_SERVER[$var] ?? '(not set)';
17+
echo $value !== '' ? "$var: $value\n" : "$var:\n";
18+
}
1219
};
1320

1421
if (isset($_SERVER['FRANKENPHP_WORKER'])) {

0 commit comments

Comments
 (0)