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
установите флажки "Механизм сценариев" и "Убедитесь, что файл существует"