Home » Php » pathinfo – What exactly is PATH_INFO in PHP?

pathinfo – What exactly is PATH_INFO in PHP?

Posted by: admin April 23, 2020 Leave a comment

Questions:

all external URLs look like ‘module/action?key1=param1’. No customization possible–but it’s fast.
The difference is that the first uses PHP’s GET, and the second uses PATH_INFO.

I’ve seen PATH_INFO several times, but still don’t know what exactly it is. What does it do?

How to&Answers:

Actually, PATH_INFO is related to the Apache Web Server serving PHP pages and not PHP per se.

PATH_INFO is an environment variable set by Apache when the AcceptPathInfo directive is turned on. It will contain trailing pathname information that follows an actual filename or non-existent file in an existing directory, whether the request is accepted or rejected. Environment variables are then passed on to the Apache/CGI module in charge of rendering the page.

The variable is accessible in PHP using $_SERVER['PATH_INFO'].

For example, assume the location /test/ points to a directory that contains only the single file here.html. Then requests for /test/here.html/more and /test/nothere.html/more both collect /more as PATH_INFO.

Apache Core Documentation: AcceptPathInfo Directive

Answer:

As the variable PATH_INFO is part of the definition for CGI you should also take a look in there 😉

https://tools.ietf.org/html/rfc3875#section-4.1.5