PHP 5.3.1 с IIS 6.0 возвращает 404, но файл действительно существует

Я установил PHP 5.3.1 VC9 для Windows x86 и выбрал IIS FastCGI в качестве целевого веб-сервера. Моя система - 32-битная Windows XP с IIS 6.0. Перед этим я установил расширение IIS FastCGI.

Теперь, когда я просматриваю свой веб-сайт, я все еще вижу все мои старые файлы, но любой файл с расширением.php теперь возвращает ошибку 404, даже если файл существует.

Несмотря на тот факт, что продукты Microsoft дают откровенную ложь, когда они дают ответы об ошибках (404 НЕ НАЙДЕН, 500+ - ОШИБКА WEBSERVER), что я могу сделать, чтобы фактически запустить мои файлы PHP через процессор FastCGI в C:\Program Files\PHP\php-cgi.exe как указано в файле конфигурации C:\Windows\system32\inetsrv\fcgiext.ini:

[Types]
php=PHP

[PHP]
ExePath=C:\Program Files\PHP\php-cgi.exe
InstanceMaxRequests=10000
ActivityTimeout=600
RequestTimeout=600
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:C:\Program Files\PHP\

Это готовая конфигурация из установщика PHP. Очевидно, это сработало, потому что IIS не начал бы ЛИТЬ о существующих файлах PHP, если бы не знал, что должен был что-то делать с этими файлами.

1 ответ

Решение

Хорошо через много проб и ошибок я нашел проблему.

Мне пришлось:

  • щелкните правой кнопкой мыши на Мой компьютер, выберите Управление
  • откройте "Службы и приложения" -> "Информационные службы Интернета" -> "Веб-сайты" -> mywebsite (где mywebsite может быть "веб-сайтом по умолчанию" или как называется мой веб-сайт)
  • щелкните правой кнопкой мыши на моем веб-сайте и выберите Свойства
  • выберите вкладку "Домашний каталог", нажмите кнопку "Конфигурация..."
  • либо выберите расширение.php и нажмите кнопку "Изменить...", либо, если файл.php отсутствует в списке, нажмите кнопку "Добавить...".
  • сделать исполняемый файл C:\WINDOWS\system32\inetsrv\fcgiext.dll, расширение .phpи убедитесь, что глаголы ограничены GET,HEAD,POSTустановите флажки "Механизм сценариев" и "Убедитесь, что файл существует"
Другие вопросы по тегам