From Aprelium:
Regarding the CGI variables, is it possible to let us know what are the ones that are missing?
I only used phpinfo() to generate this. I also have some other sins: I generated the Xitami phpinfo() on PHP 5.0.3 with Windows XPSP1 while Abyss phpinfo() on PHP 5.0.4 with Windows XPSP2. Given an apparent Abyss's advantage already, a different tale can be seen below.
Shown here, Abyss 2.0.6 is pitted against Xitami 2.5c2.
Here are quick stats:
Category 1. Number of environment variables
Abyss score - 60
Xitami score - 64
Category 2. Number of PHP variables
Abyss score - 127
Xitami score - 133
Abyss has admittedly more USEFUL, SENSIBLE and MEANINGFUL envars. I was surprised not to find HTTP_REFERER in Xitami! Wha--?
You might say that some of the variables mentioned below are meaningless but Xitami offers a feature where we can add custom cgi-variables for whatever purposes. I haven't used this section though.
From Xitami Documentation:
The {Cgi-Environment} Section
This section lets you define specific CGI environment variables. Each definition is taken literally and passed to the CGI program. This can be useful when using virtual hosts.
Summary of Environment Vars Test:
Abyss Environment Xitami Environment
ALL_HTTP 1 ALLUSERSPROFILE
ALL_RAW 2 APPDATA
APPL_MD_PATH 3 CGI_ROOT
APPL_PHYSICAL_PATH 4 CGI_URL
AUTH_TYPE 5 COMMONPROGRAMFILES
AUTH_USER 6 COMPUTERNAME
COMSPEC 7 COMSPEC
CONTENT_LENGTH 8 CONTENT_LENGTH
COOKIE 9 CONTENT_TYPE
DOCUMENT_ROOT 10 DOCUMENT_ROOT
GATEWAY_INTERFACE 11 FP_NO_HOST_CHECK
HTTP_ACCEPT 12 GATEWAY_INTERFACE
HTTP_ACCEPT_CHARSET 13 HOMEDRIVE
HTTP_ACCEPT_ENCODING 14 HOMEPATH
HTTP_ACCEPT_LANGUAGE 15 HTTP_ACCEPT
HTTP_AUTHORIZATION 16 HTTP_ACCEPT_CHARSET
HTTP_CONNECTION 17 HTTP_ACCEPT_ENCODING
HTTP_COOKIE 18 HTTP_ACCEPT_LANGUAGE
HTTP_HOST 19 HTTP_CONNECTION
HTTP_KEEP_ALIVE 20 HTTP_CONTENT_LENGTH
HTTP_REFERER 21 HTTP_COOKIE
HTTP_USER_AGENT 22 HTTP_HOST
INSTANCE_ID 23 HTTP_KEEP_ALIVE
ORIG_PATH_INFO 24 HTTP_USER_AGENT
ORIG_PATH_TRANSLATED 25 LOGONSERVER
ORIG_SCRIPT_FILENAME 26 NUMBER_OF_PROCESSORS
ORIG_SCRIPT_NAME 27 ORIG_PATH_INFO
PATH 28 ORIG_PATH_TRANSLATED
PATHEXT 29 ORIG_SCRIPT_NAME
REDIRECT_STATUS 30 OS
REMOTE_ADDR 31 PATH
REMOTE_PORT 32 PATHEXT
REQUEST_METHOD 33 PHPRC
REQUEST_URI 34 PROCESSOR_ARCHITECTURE
SCRIPT_FILENAME 35 PROCESSOR_IDENTIFIER
SCRIPT_NAME 36 PROCESSOR_LEVEL
SERVER_NAME 37 PROCESSOR_REVISION
SERVER_PORT 38 PROGRAMFILES
SERVER_PROTOCOL 39 QUERY_METHOD
SERVER_SOFTWARE 40 REMOTE_ADDR
SystemRoot 41 REMOTE_HOST
TEMP 42 REMOTE_USER
URL 43 REQUEST_METHOD
WINDIR 44 SCRIPT_FILENAME
X_ABYSS_STATS_HOST_CURRENT_UPTIME 45 SCRIPT_NAME
X_ABYSS_STATS_HOST_ERROR 46 SCRIPT_PATH
X_ABYSS_STATS_HOST_HTML 47 SERVER_HTTP_PORT
X_ABYSS_STATS_HOST_IMAGE 48 SERVER_HTTPS_PORT
X_ABYSS_STATS_HOST_NOTMODIFIED 49 SERVER_NAME
X_ABYSS_STATS_HOST_OUTPUT 50 SERVER_PORT
X_ABYSS_STATS_HOST_TOTAL 51 SERVER_PROTOCOL
X_ABYSS_STATS_HOST_UPTIME 52 SERVER_SECURITY
X_ABYSS_STATS_SERVER_CURRENT_UPTIME 53 SERVER_SOFTWARE
X_ABYSS_STATS_SERVER_ERROR 54 SERVER_URL
X_ABYSS_STATS_SERVER_HTML 55 SERVER_VERSION
X_ABYSS_STATS_SERVER_IMAGE 56 SESSIONNAME
X_ABYSS_STATS_SERVER_NOTMODIFIED 57 SYSTEMDRIVE
X_ABYSS_STATS_SERVER_OUTPUT 58 SYSTEMROOT
X_ABYSS_STATS_SERVER_TOTAL 59 TEMP
X_ABYSS_STATS_SERVER_UPTIME 60 TMP
61 USERDOMAIN
62 USERNAME
63 USERPROFILE
64 WINDIR
Summary of PHP Vars Test:
Abyss PHP Variables Xitami PHP Variables
_COOKIE["PHPSESSID"] 1 _COOKIE["PHPSESSID"]
_ENV["ALL_HTTP"] 2 _ENV["ALLUSERSPROFILE"]
_ENV["ALL_RAW"] 3 _ENV["APPDATA"]
_ENV["APPL_MD_PATH"] 4 _ENV["CGI_ROOT"]
_ENV["APPL_PHYSICAL_PATH"] 5 _ENV["CGI_URL"]
_ENV["AUTH_TYPE"] 6 _ENV["COMMONPROGRAMFILES"]
_ENV["AUTH_USER"] 7 _ENV["COMPUTERNAME"]
_ENV["COMSPEC"] 8 _ENV["COMSPEC"]
_ENV["CONTENT_LENGTH"] 9 _ENV["CONTENT_LENGTH"]
_ENV["COOKIE"] 10 _ENV["CONTENT_TYPE"]
_ENV["DOCUMENT_ROOT"] 11 _ENV["DOCUMENT_ROOT"]
_ENV["GATEWAY_INTERFACE"] 12 _ENV["FP_NO_HOST_CHECK"]
_ENV["HTTP_ACCEPT"] 13 _ENV["GATEWAY_INTERFACE"]
_ENV["HTTP_ACCEPT_CHARSET"] 14 _ENV["HOMEDRIVE"]
_ENV["HTTP_ACCEPT_ENCODING"] 15 _ENV["HOMEPATH"]
_ENV["HTTP_ACCEPT_LANGUAGE"] 16 _ENV["HTTP_ACCEPT"]
_ENV["HTTP_AUTHORIZATION"] 17 _ENV["HTTP_ACCEPT_CHARSET"]
_ENV["HTTP_CONNECTION"] 18 _ENV["HTTP_ACCEPT_ENCODING"]
_ENV["HTTP_COOKIE"] 19 _ENV["HTTP_ACCEPT_LANGUAGE"]
_ENV["HTTP_HOST"] 20 _ENV["HTTP_CONNECTION"]
_ENV["HTTP_KEEP_ALIVE"] 21 _ENV["HTTP_CONTENT_LENGTH"]
_ENV["HTTP_REFERER"] 22 _ENV["HTTP_COOKIE"]
_ENV["HTTP_USER_AGENT"] 23 _ENV["HTTP_HOST"]
_ENV["INSTANCE_ID"] 24 _ENV["HTTP_KEEP_ALIVE"]
_ENV["ORIG_PATH_INFO"] 25 _ENV["HTTP_USER_AGENT"]
_ENV["ORIG_PATH_TRANSLATED"] 26 _ENV["LOGONSERVER"]
_ENV["ORIG_SCRIPT_FILENAME"] 27 _ENV["NUMBER_OF_PROCESSORS"]
_ENV["ORIG_SCRIPT_NAME"] 28 _ENV["ORIG_PATH_INFO"]
_ENV["PATH"] 29 _ENV["ORIG_PATH_TRANSLATED"]
_ENV["PATHEXT"] 30 _ENV["ORIG_SCRIPT_NAME"]
_ENV["REDIRECT_STATUS"] 31 _ENV["OS"]
_ENV["REMOTE_ADDR"] 32 _ENV["PATH"]
_ENV["REMOTE_PORT"] 33 _ENV["PATHEXT"]
_ENV["REQUEST_METHOD"] 34 _ENV["PHPRC"]
_ENV["REQUEST_URI"] 35 _ENV["PROCESSOR_ARCHITECTURE"]
_ENV["SCRIPT_FILENAME"] 36 _ENV["PROCESSOR_IDENTIFIER"]
_ENV["SCRIPT_NAME"] 37 _ENV["PROCESSOR_LEVEL"]
_ENV["SERVER_NAME"] 38 _ENV["PROCESSOR_REVISION"]
_ENV["SERVER_PORT"] 39 _ENV["PROGRAMFILES"]
_ENV["SERVER_PROTOCOL"] 40 _ENV["QUERY_METHOD"]
_ENV["SERVER_SOFTWARE"] 41 _ENV["REMOTE_ADDR"]
_ENV["SystemRoot"] 42 _ENV["REMOTE_HOST"]
_ENV["TEMP"] 43 _ENV["REMOTE_USER"]
_ENV["URL"] 44 _ENV["REQUEST_METHOD"]
_ENV["WINDIR"] 45 _ENV["SCRIPT_FILENAME"]
_ENV["X_ABYSS_STATS_HOST_CURRENT_UPTIME"] 46 _ENV["SCRIPT_NAME"]
_ENV["X_ABYSS_STATS_HOST_ERROR"] 47 _ENV["SCRIPT_PATH"]
_ENV["X_ABYSS_STATS_HOST_HTML"] 48 _ENV["SERVER_HTTP_PORT"]
_ENV["X_ABYSS_STATS_HOST_IMAGE"] 49 _ENV["SERVER_HTTPS_PORT"]
_ENV["X_ABYSS_STATS_HOST_NOTMODIFIED"] 50 _ENV["SERVER_NAME"]
_ENV["X_ABYSS_STATS_HOST_OUTPUT"] 51 _ENV["SERVER_PORT"]
_ENV["X_ABYSS_STATS_HOST_TOTAL"] 52 _ENV["SERVER_PROTOCOL"]
_ENV["X_ABYSS_STATS_HOST_UPTIME"] 53 _ENV["SERVER_SECURITY"]
_ENV["X_ABYSS_STATS_SERVER_CURRENT_UPTIME"] 54 _ENV["SERVER_SOFTWARE"]
_ENV["X_ABYSS_STATS_SERVER_ERROR"] 55 _ENV["SERVER_URL"]
_ENV["X_ABYSS_STATS_SERVER_HTML"] 56 _ENV["SERVER_VERSION"]
_ENV["X_ABYSS_STATS_SERVER_IMAGE"] 57 _ENV["SESSIONNAME"]
_ENV["X_ABYSS_STATS_SERVER_NOTMODIFIED"] 58 _ENV["SYSTEMDRIVE"]
_ENV["X_ABYSS_STATS_SERVER_OUTPUT"] 59 _ENV["SYSTEMROOT"]
_ENV["X_ABYSS_STATS_SERVER_TOTAL"] 60 _ENV["TEMP"]
_ENV["X_ABYSS_STATS_SERVER_UPTIME"] 61 _ENV["TMP"]
_REQUEST["PHPSESSID"] 62 _ENV["USERDOMAIN"]
_SERVER["ALL_HTTP"] 63 _ENV["USERNAME"]
_SERVER["ALL_RAW"] 64 _ENV["USERPROFILE"]
_SERVER["APPL_MD_PATH"] 65 _ENV["WINDIR"]
_SERVER["APPL_PHYSICAL_PATH"] 66 _REQUEST["PHPSESSID"]
_SERVER["argc"] 67 _SERVER["ALLUSERSPROFILE"]
_SERVER["argv"] 68 _SERVER["APPDATA"]
_SERVER["AUTH_TYPE"] 69 _SERVER["argc"]
_SERVER["AUTH_USER"] 70 _SERVER["argv"]
_SERVER["COMSPEC"] 71 _SERVER["CGI_ROOT"]
_SERVER["CONTENT_LENGTH"] 72 _SERVER["CGI_URL"]
_SERVER["COOKIE"] 73 _SERVER["COMMONPROGRAMFILES"]
_SERVER["DOCUMENT_ROOT"] 74 _SERVER["COMPUTERNAME"]
_SERVER["GATEWAY_INTERFACE"] 75 _SERVER["COMSPEC"]
_SERVER["HTTP_ACCEPT"] 76 _SERVER["CONTENT_LENGTH"]
_SERVER["HTTP_ACCEPT_CHARSET"] 77 _SERVER["CONTENT_TYPE"]
_SERVER["HTTP_ACCEPT_ENCODING"] 78 _SERVER["DOCUMENT_ROOT"]
_SERVER["HTTP_ACCEPT_LANGUAGE"] 79 _SERVER["FP_NO_HOST_CHECK"]
_SERVER["HTTP_AUTHORIZATION"] 80 _SERVER["GATEWAY_INTERFACE"]
_SERVER["HTTP_CONNECTION"] 81 _SERVER["HOMEDRIVE"]
_SERVER["HTTP_COOKIE"] 82 _SERVER["HOMEPATH"]
_SERVER["HTTP_HOST"] 83 _SERVER["HTTP_ACCEPT"]
_SERVER["HTTP_KEEP_ALIVE"] 84 _SERVER["HTTP_ACCEPT_CHARSET"]
_SERVER["HTTP_REFERER"] 85 _SERVER["HTTP_ACCEPT_ENCODING"]
_SERVER["HTTP_USER_AGENT"] 86 _SERVER["HTTP_ACCEPT_LANGUAGE"]
_SERVER["INSTANCE_ID"] 87 _SERVER["HTTP_CONNECTION"]
_SERVER["ORIG_PATH_INFO"] 88 _SERVER["HTTP_CONTENT_LENGTH"]
_SERVER["ORIG_PATH_TRANSLATED"] 89 _SERVER["HTTP_COOKIE"]
_SERVER["ORIG_SCRIPT_FILENAME"] 90 _SERVER["HTTP_HOST"]
_SERVER["ORIG_SCRIPT_NAME"] 91 _SERVER["HTTP_KEEP_ALIVE"]
_SERVER["PATH"] 92 _SERVER["HTTP_USER_AGENT"]
_SERVER["PATHEXT"] 93 _SERVER["LOGONSERVER"]
_SERVER["PHP_AUTH_PW"] 94 _SERVER["NUMBER_OF_PROCESSORS"]
_SERVER["PHP_AUTH_USER"] 95 _SERVER["ORIG_PATH_INFO"]
_SERVER["PHP_SELF"] 96 _SERVER["ORIG_PATH_TRANSLATED"]
_SERVER["REDIRECT_STATUS"] 97 _SERVER["ORIG_SCRIPT_NAME"]
_SERVER["REMOTE_ADDR"] 98 _SERVER["OS"]
_SERVER["REMOTE_PORT"] 99 _SERVER["PATH"]
_SERVER["REQUEST_METHOD"] 100 _SERVER["PATHEXT"]
_SERVER["REQUEST_URI"] 101 _SERVER["PHP_SELF"]
_SERVER["SCRIPT_FILENAME"] 102 _SERVER["PHPRC"]
_SERVER["SCRIPT_NAME"] 103 _SERVER["PROCESSOR_ARCHITECTURE"]
_SERVER["SERVER_NAME"] 104 _SERVER["PROCESSOR_IDENTIFIER"]
_SERVER["SERVER_PORT"] 105 _SERVER["PROCESSOR_LEVEL"]
_SERVER["SERVER_PROTOCOL"] 106 _SERVER["PROCESSOR_REVISION"]
_SERVER["SERVER_SOFTWARE"] 107 _SERVER["PROGRAMFILES"]
_SERVER["SystemRoot"] 108 _SERVER["QUERY_METHOD"]
_SERVER["TEMP"] 109 _SERVER["REMOTE_ADDR"]
_SERVER["URL"] 110 _SERVER["REMOTE_HOST"]
_SERVER["WINDIR"] 111 _SERVER["REMOTE_USER"]
_SERVER["X_ABYSS_STATS_HOST_CURRENT_UPTIME"] 112 _SERVER["REQUEST_METHOD"]
_SERVER["X_ABYSS_STATS_HOST_ERROR"] 113 _SERVER["SCRIPT_FILENAME"]
_SERVER["X_ABYSS_STATS_HOST_HTML"] 114 _SERVER["SCRIPT_NAME"]
_SERVER["X_ABYSS_STATS_HOST_IMAGE"] 115 _SERVER["SCRIPT_PATH"]
_SERVER["X_ABYSS_STATS_HOST_NOTMODIFIED"] 116 _SERVER["SERVER_HTTP_PORT"]
_SERVER["X_ABYSS_STATS_HOST_OUTPUT"] 117 _SERVER["SERVER_HTTPS_PORT"]
_SERVER["X_ABYSS_STATS_HOST_TOTAL"] 118 _SERVER["SERVER_NAME"]
_SERVER["X_ABYSS_STATS_HOST_UPTIME"] 119 _SERVER["SERVER_PORT"]
_SERVER["X_ABYSS_STATS_SERVER_CURRENT_UPTIME"] 120 _SERVER["SERVER_PROTOCOL"]
_SERVER["X_ABYSS_STATS_SERVER_ERROR"] 121 _SERVER["SERVER_SECURITY"]
_SERVER["X_ABYSS_STATS_SERVER_HTML"] 122 _SERVER["SERVER_SOFTWARE"]
_SERVER["X_ABYSS_STATS_SERVER_IMAGE"] 123 _SERVER["SERVER_URL"]
_SERVER["X_ABYSS_STATS_SERVER_NOTMODIFIED"] 124 _SERVER["SERVER_VERSION"]
_SERVER["X_ABYSS_STATS_SERVER_OUTPUT"] 125 _SERVER["SESSIONNAME"]
_SERVER["X_ABYSS_STATS_SERVER_TOTAL"] 126 _SERVER["SYSTEMDRIVE"]
_SERVER["X_ABYSS_STATS_SERVER_UPTIME"] 127 _SERVER["SYSTEMROOT"]
128 _SERVER["TEMP"]
129 _SERVER["TMP"]
130 _SERVER["USERDOMAIN"]
131 _SERVER["USERNAME"]
132 _SERVER["USERPROFILE"]
133 _SERVER["WINDIR"]