Из PHP существует ли кросс-платформенный способ межсетевого сервера, определяющий, включен ли PATH_INFO на сервере, на котором вы работаете?
Похоже, что $ _SERVER ['PATH_INFO'] заполняется только в том случае, если после сценария есть дополнительные сегменты пути, поэтому вы не можете достоверно определить, включен ли PATH_INFO, если запрос предназначен для /index.php, например.
Я не думаю, что существует определенный способ получить такое значение конфигурации Apache.
Одна идея, которая приходит на ум, – это сделать запрос с помощью file_get_contents()
http://current_site_domain/check.php/test
check.php
выдаст $_SERVER['PATH_INFO']
.
Если результатом запроса является «тест», работает PATH_INFO.
Конечно, это может закончиться неудачей, потому что открытие URL-адресов отключено, потому что вы не знаете локальный домен, потому что есть брандмауэр на месте и т. Д. И т. Д.
Другой способ, который менее подвержен ошибкам, – использовать iframe
:
<iframe src="/check.php/It%20works!"></iframe>
Если вы видите, что «работает» внутри ifrane, работает PATH_INFO. Возможно, полезно для процедуры установки.
$ _SERVER ["PATH_INFO"] всегда должен быть доступен. Если это не так, это означает, что между именем файла и строкой запроса не было никакой дополнительной информации.