PHP中的路径信息到底是什么?

PHP中的路径信息到底是什么?,php,pathinfo,Php,Pathinfo,所有外部URL看起来都像“模块/操作?key1=param1”。不可能定制,但速度很快。 区别在于第一个使用PHP的GET,第二个使用PATH_INFO 我已经看过几次了,但仍然不知道它到底是什么。它做什么?实际上,PATH\u INFO与服务于PHP页面的Apache Web服务器相关,而不是PHP本身 PATH\u INFO是Apache在打开时设置的环境变量。它将包含尾随路径名信息,该信息位于实际文件名或现有目录中不存在的文件之后,无论请求是否被接受。然后将环境变量传递给负责呈现页面的Ap

所有外部URL看起来都像“模块/操作?key1=param1”。不可能定制,但速度很快。 区别在于第一个使用PHP的GET,第二个使用PATH_INFO


我已经看过几次了,但仍然不知道它到底是什么。它做什么?

实际上,
PATH\u INFO
与服务于PHP页面的Apache Web服务器相关,而不是PHP本身

PATH\u INFO
是Apache在打开时设置的环境变量。它将包含尾随路径名信息,该信息位于实际文件名或现有目录中不存在的文件之后,无论请求是否被接受。然后将环境变量传递给负责呈现页面的Apache/CGI模块

在PHP中,可以使用
$\u服务器['PATH\u INFO']
访问该变量

例如,假设位置
/test/
指向一个仅包含单个文件
here.html
的目录。然后请求
/test/here.html/more
/test/nothere.html/more
都将
/more
收集为
路径信息


由于变量PATH_INFO是CGI定义的一部分,您还应该在其中查看;)


阅读您的答案后,可以推断依赖路径信息是一种不好的做法,而事实并非如此。路径信息是CGI定义的一部分(正如SimonConscity所指出的)。大多数web服务器都支持它,而不仅仅是Apache。