|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2006-10-20 08:14 UTC] konradg at irc dot pl
Description:
------------
Some $_SERVER variables in fastcgi version (php5-cgi) are missing _only_ when executing directly from shell command line.
Variables are:
_SERVER["PHP_SELF"] (set but no value)
_SERVER["SCRIPT_NAME"] (not set)
_SERVER["SCRIPT_FILENAME"] (not set)
_SERVER["PATH_TRANSLATED"] (not set)
_SERVER["DOCUMENT_ROOT"] (not set)
These variables _are_ set in CLI version of php5 and when executing php5-cgi by web server.
Reproduce code:
---------------
echo "<? phpinfo() ?>" > info.php
php5-cgi info.php > info.txt
Expected result:
----------------
_SERVER["PHP_SELF"] => info.php
_SERVER["SCRIPT_NAME"] => info.php
_SERVER["SCRIPT_FILENAME"] => info.php
_SERVER["PATH_TRANSLATED"] => info.php
_SERVER["DOCUMENT_ROOT"] =>
_SERVER["REQUEST_TIME"] => 1161331562
_SERVER["argv"] => Array
(
[0] => info.php
)
_SERVER["argc"] => 1
in output
Actual result:
--------------
_SERVER["PHP_SELF"] => no value
_SERVER["REQUEST_TIME"] => 1161331600
_SERVER["argv"] => Array
_SERVER["argc"] => 1
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 08 03:00:01 2025 UTC |
Better reproduce code: <? $vars = array ('PHP_SELF', 'SCRIPT_NAME', 'SCRIPT_FILENAME', 'PATH_TRANSLATED', 'DOCUMENT_ROOT'); foreach ($vars as $v) { echo '_SERVER["'.$v.'"] => '.(isset($_SERVER[$v]) ? $_SERVER[$v] : '(not set)'); echo "\n"; } ?> Expected result (from CLI version): ------------------------------------ php5 test.php _SERVER["PHP_SELF"] => test.php _SERVER["SCRIPT_NAME"] => test.php _SERVER["SCRIPT_FILENAME"] => test.php _SERVER["PATH_TRANSLATED"] => test.php _SERVER["DOCUMENT_ROOT"] => Actual result (FASTCGI version): --------------------------------- php5-cgi test.php _SERVER["PHP_SELF"] => _SERVER["SCRIPT_NAME"] => (not set) _SERVER["SCRIPT_FILENAME"] => (not set) _SERVER["PATH_TRANSLATED"] => (not set) _SERVER["DOCUMENT_ROOT"] => (not set) Thanks.