perf: optimize $_SERVER import (#1106)

Co-authored-by: Kévin Dunglas <kevin@dunglas.fr>
Co-authored-by: a.stecher <a.stecher@sportradar.com>
Co-authored-by: Alliballibaba <alliballibaba@gmail.com>
This commit is contained in:
Alexander Stecher
2024-11-04 15:34:00 +01:00
committed by GitHub
parent ee8e1b97b9
commit e5ca97308e
11 changed files with 447 additions and 253 deletions

39
testdata/server-all-vars-ordered.php vendored Normal file
View File

@@ -0,0 +1,39 @@
<?php
echo "<pre>\n";
foreach ([
'CONTENT_LENGTH',
'HTTP_CONTENT_LENGTH',
'HTTP_SPECIAL_CHARS',
'DOCUMENT_ROOT',
'DOCUMENT_URI',
'GATEWAY_INTERFACE',
'HTTP_HOST',
'HTTPS',
'PATH_INFO',
'CONTENT_TYPE',
'DOCUMENT_ROOT',
'REMOTE_ADDR',
'CONTENT_LENGTH',
'PHP_SELF',
'REMOTE_HOST',
'REQUEST_SCHEME',
'SCRIPT_FILENAME',
'SCRIPT_NAME',
'SERVER_NAME',
'SERVER_PORT',
'SERVER_PROTOCOL',
'SERVER_SOFTWARE',
'SSL_PROTOCOL',
'AUTH_TYPE',
'REMOTE_IDENT',
'CONTENT_TYPE',
'PATH_TRANSLATED',
'QUERY_STRING',
'REMOTE_USER',
'REQUEST_METHOD',
'REQUEST_URI',
] as $name) {
echo "$name:" . $_SERVER[$name] . "\n";
}
echo "</pre>";

33
testdata/server-all-vars-ordered.txt vendored Normal file
View File

@@ -0,0 +1,33 @@
<pre>
CONTENT_LENGTH:7
HTTP_CONTENT_LENGTH:7
HTTP_SPECIAL_CHARS:<%00>
DOCUMENT_ROOT:{documentRoot}
DOCUMENT_URI:/server-all-vars-ordered.php
GATEWAY_INTERFACE:CGI/1.1
HTTP_HOST:localhost:{testPort}
HTTPS:
PATH_INFO:/path
CONTENT_TYPE:application/x-www-form-urlencoded
DOCUMENT_ROOT:{documentRoot}
REMOTE_ADDR:127.0.0.1
CONTENT_LENGTH:7
PHP_SELF:/server-all-vars-ordered.php/path
REMOTE_HOST:127.0.0.1
REQUEST_SCHEME:http
SCRIPT_FILENAME:{documentRoot}/server-all-vars-ordered.php
SCRIPT_NAME:/server-all-vars-ordered.php
SERVER_NAME:localhost
SERVER_PORT:{testPort}
SERVER_PROTOCOL:HTTP/1.1
SERVER_SOFTWARE:FrankenPHP
SSL_PROTOCOL:
AUTH_TYPE:
REMOTE_IDENT:
CONTENT_TYPE:application/x-www-form-urlencoded
PATH_TRANSLATED:{documentRoot}/path
QUERY_STRING:specialChars=%3E\x00%00</>
REMOTE_USER:user
REQUEST_METHOD:POST
REQUEST_URI:/server-all-vars-ordered.php/path?specialChars=%3E\x00%00</>
</pre>