Что такое PATH_INFO в PHP?

все внешние URL-адреса выглядят как "module/action? key1 = param1". Невозможно настроить, но это быстро. Разница в том, что первый использует PHP GET, а второй использует PATH_INFO.

Я видел PATH_INFO несколько раз, но до сих пор не знаю, что это такое. Что он делает?

Ответ 1

Фактически, PATH_INFO связан с веб-сервером Apache, обслуживающим страницы PHP, а не PHP как таковой.

PATH_INFO - это переменная среды, установленная Apache, когда включена директива AcceptPathInfo. Он будет содержать информацию о конце пути, которая следует за фактическим именем файла или несуществующим файлом в существующем каталоге, независимо от того, принят или отклонен запрос. Затем переменные среды передаются в модуль Apache/CGI, который отвечает за отображение страницы.

Переменная доступна в PHP с помощью $_SERVER['PATH_INFO'].

Например, предположим, что местоположение /test/ указывает на каталог, содержащий только один файл here.html. Затем запросы для /test/here.html/more и /test/nothere.html/more собирают /more как PATH_INFO.

Документация Apache Core: AcceptPathInfo Директива