zhuanzhou zhuanzhou - 5 months ago 8
PHP Question

What is the difference between $_SERVER['PATH_INFO'] and $_SERVER['ORIG_PATH_INFO']?

What’s the difference between

$_SERVER['PATH_INFO']
and
$_SERVER['ORIG_PATH_INFO']
? How do I use them?

When I run
print_r($_SERVER)
,
PATH_INFO
and
ORIG_PATH_INFO
are not present in the array. Why not? How can I enable them?

I have read the PHP manual on them, but still don’t understand them.

Answer

The PATH_INFO variable is only present if you invoke a PHP script like this:

http://www.example.com/phpinfo.php/HELLO_THERE

It's only the /HELLO_THERE part after the .php script. If you don't invoke the URL like that, there won't be a $_SERVER["PATH_INFO"] environment variable.

The PORIG_ prefix is somewhat uncommon. PATH_INFO is a standard CGI-environment variable, and should never be prefixed. Where did you read that? (There were some issues around PHP3/PHP4 if you invoked the PHP interpreter via cgi-bin/ - but hardly anyone has such setups today.)

For reference: http://www.ietf.org/rfc/rfc3875

Comments