Я запускаю приложение PHP 7.3 в IIS, используя обработчик FastCGI для выполнения файлов. При запросе URL-адресов, которые заканчиваются на * .php в браузере, все работает нормально.
Однако некоторые пути приложения выглядят так: http://my-site.com/image.php/my_image_name.png
, то есть после имени файла PHP есть еще какое-то содержимое, которое не является строкой запроса. Для этих URL-адресов IIS всегда отвечает HTTP 404 и сообщением «Входной файл не указан».
Как я могу исправить такое поведение?
Для анализа таких URL-адресов сценарии PHP используют информацию о пути, предоставленную PHP. Использование обработчика FastCGI, похоже, искажает эту информацию о пути. К счастью, в PHP есть опция конфигурации, позволяющая исправить следующие пути:
Перейдите к своему php.ini
файл и установите следующую опцию:
cgi.fix_pathinfo=1
Этот параметр рекомендуется Microsoft при размещении приложений PHP в IIS: Использование FastCGI для размещения приложений PHP в IIS 7