|
В этом разделе собраны замечания, касающиеся IIS (MicrosoftInternet Information Server), установки PHP на
PWS/IIS 3, PWS 4 или новее и на
IIS 4 или новее.
Рекомендуемый метод для конфигурирования этих серверов - использовать REG-файл, включённый в дистрибутив
(pws-php4cgi.reg). Вы может редактировать этот файл, чтобы обеспечить
соответствие директорий установки расширений и PHP вашей конфигурации. Либо
вы можете следовать ниже указанным шагам и сделать это самостоятельно.
Предупреждение! |
---|
Для выполнения этих шагов необходима прямая работа с Windows
registry. Единственная ошибка может привести систему в нестабильное
состояние. Мы настоятельно рекомендуем сделать сначала копию реестра.
Команда PHP Development не несёт ответственности за ущерб, причинённый вашему реестру. |
Запустите Regedit. Найдите: HKEY_LOCAL_MACHINE /System/CurrentControlSet /Services /W3Svc /Parameters/ScriptMap.
В меню Еdit выберите: New->String Value.
Впечатайте расширение файлов, которое вы хотите использовать для ваших php-скриптов. Например, .php
Дважды щёлкните на новом строковом значении и введите путь к
php.exe в поле значения данных. Например, c:\php\php.exe.
Повторите эти шаги для каждого расширения, которое вы хотите ассоциировать с PHP-скриптами.
Следующие шаги не влияют на инсталяцию web-сервера и выполняются только в
том случае, если вы хотите исполнять ваши php-скрипты из командной строки (пример: run
c:\myscripts\test.php) или двойным щелчком на скрипте в окне просмотра директории. Вы можете
пропустить эти шаги, если предпочитаете загружать PHP-файлы в текстовый редактор, где можете дважды щёлкнуть по ним.
Найдите: HKEY_CLASSES_ROOT В меню Еdit выберите: New->Key
Назовите ключ для расширения, установленного вами в предыдущем разделе. Пример: .php
Выделите новый ключ, в правой панели дважды щёлкните "default value" и введите phpfile.
Повторите последний шаг для каждого расширения, установленного в предыдущем разделе.
Теперь создайте новый New->Key под HKEY_CLASSES_ROOT и назовите его
phpfile. Выделите новый ключ phpfile, в правой панели дважды щёлкните "default value" и введите
PHP Script. Щёлкните правой кнопкой мыши на ключе phpfile и выберите
New->Key, назовите его Shell.
Щёлкните правой кнопкой мыши на ключе Shell и выберите New->Key, назовите
его open. Щёлкните правой кнопкой мыши на ключе open, выберите
New->Key, назовите его command. Выделите новый ключ
command, в правой панели дважды щёлкните "default value" и введите путь к php.exe.
Пример: c:\php\php.exe -q %1. (не забудьте %1). Выйдите из Regedit.
При использовании PWS под Windows перезагрузите компьютер для перезагрузки реестра.
Пользователи PWS и IIS 3 теперь имеют полностью работоспособную систему. Пользователи IIS 3
могут использовать nifty-утилиту
от Steven Genusa для конфигурирования отображения скриптов.
При установке PHP под Windows с PWS 4 или более новой версией у вас есть две опции.
Одна - установить PHP CGI-бинарный, другая - использовать ISAPI-модуль/библиотеку DLL.
Если вы избрали CGI binary, сделайте следующее: Отредактируйте включённый файл
pws-php4cgi.reg (найдите его в директории SAPI), чтобы отразить местонахождение вашего php.exe.
Обратные слэши должны escape-ироваться, например: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="c:\\php\\php.exe"
В PWS Manager щёлкните правой кнопкой мыши на директории, в которую вы
хотите добавить поддержку PHP и выберите Properties. Отметьте бокс 'Execute' и подтвердите изменения.
Если вы избрали ISAPI-модель, сделайте следующее: Отредактируйте включённый файл
pws-php4isapi.reg (найдите его в директории SAPI), чтобы отразить местонахождение вашей php4isapi.dll.
Обратные слэши должны escape-ироваться, например:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map] ".php"="c:\\php\\sapi\\php4isapi.dll"
В PWS Manager щёлкните правой кнопкой мыши на директории, в которую вы
хотите добавить поддержку PHP и выберите Properties. Отметьте бокс 'Execute' и подтвердите изменения.
Для установки PHP на NT/2000/XP Server с сервером IIS 4 или более новым
следуйте данным инструкциям. Вы можете установить PHP как CGI binary (php.exe) или как ISAPI-модуль.
В любом случае вы должны открыть Microsoft Management
Console (может называться 'Internet Services Manager' в разделе Windows NT 4.0 Option Pack или в Control
Panel=>Administrative Tools в Windows 2000/XP). Затем щёлкните правой
кнопкой мыши на узле вашего Web-сервера (вероятнее всего, он называется 'Default Web Server') и выберите 'Properties'.
Если вы хотите использовать CGI binary, сделайте следующее: -
Под 'Contents Directory', 'Virtual Directory' или
'Directory' щёлкните кнопку 'Configuration' и перейдите на вкладку App Mappings.
Щёлкните Add и в боксе Executable введите: c:\php\php.exe (если считать, что вы unzip PHP в директории in c:\php\).
В боксе Extension введите расширение имени файла, которое вы хотите
ассоциировать с PHP-скриптами. Оставьте поле 'Method exclusions'
чистым и отметьте переключатель Script engine.
Вы можете также отметить переключатель 'check that file exists' - что
несколько замедлит работу, IIS (или PWS) будет проверять, что файл скрипта
существует, и сортировать аутентификацию перед запуском php.
Это означает, что вы получите ошибку в стиле 404 вместо cgi-ошибки,
сообщающую о том, что php не вывел никаких данных.
Вы обязаны выполнить предыдущий шаг для каждого расширения имён файлов,
которое вы хотите ассоциировать с PHP-скриптами. .php и .phtml это обычные расширения, хотя может понадобиться и .php3
для соответствующих приложений РНР 3. Установите уровень безопасности. (В Internet
Service Manager) и, если ваш NT Server использует файловую систему NTFS,
добавьте право execute для I_USR_ в директории, которая содержит php.exe.
Для использования ISAPI-модуля сделайте следующее: -
Если вы не хотите выполнять аутентификацию HTTP с использованием PHP,
вы можете (и должны) пропустить этот шаг. Под ISAPI Filters добавьте
новый ISAPI-фильтр. Используйте PHP в качестве имени фильтра и укажите путь к php4isapi.dll.
Под 'Contents Directory' щёлкните кнопку 'Configuration'.
Добавьте новое вхождение в Application Mappings. Используйте путь к php4isapi.dll как к Executable, введите
.php как расширение, оставьте поле Method exclusions пустым и отметьте бокс Script engine.
Полностью остановите IIS (NET STOP iisadmin)
Снова стартуйте IIS (NET START w3svc)
| |