$_SERVER['PATH_INFO'] 和 $_SERVER['ORIG_PATH_INFO'] 有什么区别? [英] What is the difference between $_SERVER['PATH_INFO'] and $_SERVER['ORIG_PATH_INFO']?
问题描述
$_SERVER['PATH_INFO']
和 $_SERVER['ORIG_PATH_INFO']
有什么区别?我如何使用它们?
当我运行 print_r($_SERVER)
时,PATH_INFO
和 ORIG_PATH_INFO
不在数组中.为什么不?如何启用它们?
我已经阅读了关于它们的 PHP 手册,但仍然不理解它们.
PATH_INFO
变量仅在您像这样调用 PHP 脚本时才存在:
http://www.example.com/phpinfo.php/HELLO_THERE
它只是.php
脚本之后的/HELLO_THERE
部分.如果你不这样调用 URL,就不会有 $_SERVER["PATH_INFO"]
环境变量.
PORIG_
前缀有点不常见.PATH_INFO
是一个标准的 CGI 环境变量,不应该加上前缀.你从哪里读到的?(如果您通过 cgi-bin/调用 PHP 解释器,PHP3/PHP4 会出现一些问题 - 但今天几乎没有人有这样的设置.)
参考:http://www.ietf.org/rfc/rfc3875>
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.
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
这篇关于$_SERVER['PATH_INFO'] 和 $_SERVER['ORIG_PATH_INFO'] 有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!