Я постоянно пытался запустить какой-либо PHP на IIS 6. Каким-то образом мне удалось успешно запустить версию 5.1.4 с использованием файла php5isapi.dll. Однако я хочу обновить веб-сайт, чтобы начать использовать систему управления контентом. Я никогда раньше не копался в CMS, поэтому я открыт для программ, которые просты в использовании. В настоящее время я изучаю TomatoCMS и ImpressCMS, но это не относится к делу.
Раньше я никогда не устанавливал PHP и, думаю, знакомлюсь с его работой. Однако текущая ситуация такова. Установщик веб-платформы Microsoft 2.0 установил для меня FastCGI. Мне нужно перейти на PHP 5.3.1 для системы CMS. Поэтому я загрузил установщик Windows и позволил ему заняться этим.
Посмотрев несколько других статей в блоге, я считаю, что знаю, как это должно работать, но в настоящее время мне не везет.
НАСТРОЙКА
* .php - это зарегистрированное расширение в IIS 6 для всех веб-сайтов (в Win 2k3). Приложение, которое он вызывает, называется C: \ Windows \ system32 \ inetsvr \ fcgiext.dll, как и должно быть.
Конфигурация fcgiext.ini имеет правильные строки:
[Типы] php = PHP
[PHP] ext = C: \ program files \ PHP \ php-cgi.exe
И файл php.ini тоже имеет правильные конфиги. Все расширения отключены, и я изменил правильные вещи для FastCGI. И все правильно прописано с переменной PATH. Все именно так, как должно быть.
НО, когда я запускаю страницу "info.php" () на другом компьютере, я получаю следующую ошибку:
Ошибка FastCGI Обработчику FastCGI не удалось обработать запрос.
Детали ошибки:
* Section [PHP] not found in config file.
* Error Number: 1413 (0x80070585).
* Error Description: Invalid index.
Ошибка HTTP 500 - ошибка сервера. Информационные службы Интернета (IIS)
Быстрый поиск в Google показывает, что у меня все настроено правильно, в том что касается INI и сопоставления расширения php. Я полностью растерялся. У кого-нибудь есть предложения? Хотя на сервере размещены три небольших веб-сайта, мне все равно, что мне с ним делать, чтобы он заработал.
У меня были проблемы с тем, чтобы FCGI и PHP мирно сосуществовали с IIS6 на моем сервере, хотя у меня были другие проблемы. Судя по тому, что вы опубликовали из файла fcgiext.ini, похоже, что вам нужны немного другие параметры конфигурации, а именно ExePath нужно установить вместо ext. Вот фрагмент из файла fcgiext.ini на моем рабочем сервере, на котором размещено несколько десятков сайтов:
[Types]
php:633747741=PHP-TEST
php=PHP-Production
[PHP-Production]
ExePath="C:\Program Files\PHP-5.2.10-nts-vc6\php-cgi.exe"
EnvironmentVars=PHPRC:C:\Program Files\PHP-5.2.10-nts-vc6
InstanceMaxRequests=1000
ActivityTimeout=1200
RequestTimeout=1800
MaxInstances=100
[PHP-TEST]
ExePath="C:\Program Files\php-5.2.12-nts\php-cgi.exe"
EnvironmentVars=PHPRC:C:\Program Files\php-5.2.12-nts
InstanceMaxRequests=5
ActivityTimeout=1200
RequestTimeout=1800
MaxInstances=100
У меня определены две разные конфигурации PHP (PHP-Production и PHP-TEST), и я установил конфигурацию по умолчанию как PHP-Production. Я указал для сайта IIS номер 633747741, чтобы вместо этого использовать конфигурацию PHP-TEST.