Php for iis
Установка и настройка компоненты PHP для веб-сервера IIS
Для работы с веб-проектами на базе популярных CMS (англ. Content Management System — система управления содержимым), таких как WordPress, Drupal, Joomla и др. необходим компонент, который бы обрабатывал скрипты PHP и преобразовывал бы их в код HTML, понятный браузеру. В данной статье рассмотрим 2 способа установки компоненты PHP на входящий в поставку Windows веб-сервер IIS (Internet Information Services) с помощью программы «Установщик веб-платформы» от компании Mocrosoft и вручную, с помощью официального инсталлятора.
0. Оглавление
1. Установка и настройка веб-сервера IIS
Прежде всего, у вас должен быть установлен веб-сервер IIS. Об установке IIS можно прочитать в статьях:
Кроме того, в процессе установки помимо компонент по умолчанию обязательно должна быть установлена компонента FastCGI. Если же веб-сервер IIS уже установлен, но данная компонента не была выбрана, то это можно сделать и позже. Рассмотрим процесс установки компоненты FastCGI в Winows 8/8.1. Чтобы активировать FastCGI, проходим тот же путь, что и для активации IIS. Кстати, в Windows 8.1 нужный нам раздел панели управления «Программы и компоненты» удобно вынесен в контекстное меню кнопки «Пуск».
В открывшемся окне раздела кликаем «Включение и отключение компонентов Windows».
Раскрываем список «Службы IIS», в нём – «Службы Интернета», далее – «Компоненты разработки приложений». И уже в этом списке ставим галочку возле «CGI». Далее жмём «ОК» и дожидаемся, пока система настроит и применит изменения.
Далее рассмотрим 2 способа установки компоненты PHP на веб-сервер IIS:
2. Установка компоненты PHP с помощью программы «Установщик веб-платформы»
Установщик веб-платформы предоставляет собой небольшую программу, предоставляющую доступ к быстрой установке и настройке всего спектра продуктов, которые могут понадобиться для разработки или развертывания веб-сайтов и веб-приложений на базе платформы Windows. Скачать установщик веб-платформы можно на официальном сайте программы.
После скачивания запускаем инсталлятор и дожидаемся окончания установки. После того, как процесс установки будет завершен, мы попадем в главное окно программы, где можно увидеть огромное количество программ, компонент, сборок и пр. существующих для разработки веб-сайтов и веб-приложений. Необходимая нам компонента PHP также присутствует в данном списке. Найти ее проще всего вбив соответствующий запрос в поле поиска, расположенное в верхнем правом углу окна программы. Затем необходимо нажать кнопку «Добавить» в строке с компонентой требуемой версии (на момент написания статьи, актуальной была версия 5.63)
Данная компонента будет добавлена в список устанавливаемых элементов. Нажимаем «Установить» для установки приложений из этого списка.
Запустится мастер установки, принимаем условия лицензионного соглашения нажав кнопку «Принимаю».
И дожидаемся окончания установки, нажав «Готово» когда мастер закончит работу.
На этом в общем то и все. Компонента PHP успешно установлена. Аналогичным образом можно также добавить компоненту «Диспетчер PHP для IIS» с помощью которой можно будет настраивать компоненты PHP прямо из «Диспетчера служб IIS».
3. Установка компоненты PHP с помощью официального инсталлятора
Теперь рассмотрим процесс установки компоненты PHP вручную, т. е. с помощью инсталлятора. Дистрибутив PHP можно скачать с официального сайта. В нашем случае скачиваем инсталлятор PHP.
Запускаем инсталлятор PHP и в окне мастера установки жмём «Next».
Соглашаемся с лицензионными условиями. Жмём «Next».
Соглашаемся с путём установки, если нет необходимости его менять. Жмём «Next».
В следующем окне выбираем режим «IIS FastCGI», если текущая операционная система — Windows Server. Если работа происходит в Windows 7, 8, 8.1, выбираем режим «Other CGI». И жмём «Next».
Затем, ничего не меняя, жмём «Next».
Следующий шаг – запуск самой инсталляции. Жмём «Install».
По завершению инсталляции жмём «Finish».
В довесок к самому PHP также установим плагин для его управления в «Диспетчере служб IIS». Плагин PHP Manager for IIS, в соответствии с разрядностью операционной системы, скачиваем с официального сайта.
Запускаем установку плагина. Если на компьютере не установлена программная платформа NET Framework, инсталлятор плагина предложит отправиться на официальный сайт для скачивания её дистрибутива. И только после установки NET Framework и перезагрузки компьютера плагин PHP Manager for IIS захочет устанавливаться без каких-либо проблем. Жмём «Next».
Соглашаемся с лицензионными условиями и жмём снова «Next».
По завершению установки плагина закрываем окно установщика.
Запускаем «Диспетчер служб IIS». Если все действия осуществлены корректно, в «Диспетчере служб IIS» увидим появившийся раздел «Администратор PHP». Заходим сюда двойным щелчком.
Для дальнейшем работы потребуется зарегистрировать компоненту PHP – увидим активной ссылку регистрации новой версии PHP. Жмём её.
В появившемся окошке указываем путь к запрашиваемому исполняемому файлу и нажимаем «ОК».
Это завершающий этап настройки PHP.
Смотрите также:
IIS (Internet Information Services) – один из немногих штатных инструментов Windows, которым можно пользоваться, не ища более приемлемых альтернатив от других разработчиков. Веб-сервер IIS с поддержкой языка PHP можно использовать…
Раннее я уже писал об установке сервера хранилища конфигураций в системе «1С:Предприятия» 8. В данной статье рассмотрим процесс публикации сервера хранилища конфигураций на веб-сервере IIS для возможности доступа к хранилищам, обслуживаемым…
Веб-сервер представляет собой некоторую программу (службу), принимающую HTTP-запросы от клиентов, обычно от веб-браузеров, обрабатывающую данные запросы и выдающую им ответ, как правило, вместе с HTLM-страницей (сайтом), изображением, файлом, медиа-потоком или другими данными. Ниже подробно рассмотрим…
Установка веб-сервера IIS с поддержкой PHP на Windows 8/Server 2012
Сегодня мы покажем, как на базе Windows 8 / Windows Server 2012 развернуть собственный веб-сервер IIS с поддержкой языка PHP. Впоследствии на данной платформе можно будет запустить большинство современных CMS, написанных на этом самом популярном (но далеко не самом лучшем) на данный момент языке разработки веб-приложений.
Установка IIS в Windows 8
В Windows 8 веб-сервер IIS 8 поставляется в качестве отдельной функции и по умолчанию он не установлен. Чтобы установить IIS в Windows 8, откройте Панель управления и в разделе Program and Features (appwiz.cpl) нажмите на кнопку Turn Windows features on or off.
В открывшемся окне поставьте чекбокс у пункта Internet Information Service и нажмите ОK.
После окончания установки, проверим что наш веб-сервер работает. Для этого запустите Internet Explorer (или любой другой браузер) и в его адресной строке наберите http://localhost (или ).
Если IIS функционирует корректно, должна отобразиться такая страница:
Установка IIS в Windows Server 2012
В Windows Server 2012 веб-сервер Internet Information Services можно установить из консоли Server Manager, выбрав для установки роль Web Server IIS.
Согласимся с предложенными по-умолчанию компонентами, установив дополнительно только CGI (находится в разделе Application Deployment ролей IIS).
Далее запустим установку роли, после окончания которой, сервер потребуется перезагрузить.
Протестируем работу IIS, открыв в браузере страницу http://localhost .
Установка PHP на Windows 8 / Windows Server 2012
Для установки PHP нам понадобится установщик Microsoft Web Platform Installer 5.0 (WPI), скачать который можно по этой ссылке: http://www.microsoft.com/web/downloads/platform.aspx (wpilauncher.exe.)
Совет. Преимущество использования установщика PHP в составе Microsoft Web Platform перед ручной установкой PHP заключается в следующем:
- WPI сам определяет необходимую версию PHP и устанавливает актуальную на данный момент версию
- WPI сам настраивает интеграцию с IIS, позволяет установить расширения PHP без необходимости вручную настраивать конфигурационные файлы
- WPI в дальнейшем позволяет легко обновить PHP без потери конфигурационных файлов
Запустим скачанный файл wpilauncher.exe. и в появившемся окне установщика Web Platform Installer перейдем на вкладку Products и в списке доступных продуктов найдите строчку PHP 5.5.11.
Нажмем кнопку Add и затем Install. Перед началом установки WPI проверит вашу систему на соответствие требованиям ( в случае необходимости будет предложено установить недостающие компоненты), после чего запустится установка PHP.
Тестируем работу PHP на IIS
После того, как PHP установлен, проверим, что он работает корректно. Для этого перейдем в корневой каталог веб-сервера (по умолчанию C:inetpubwwwroot) и создадим новый текстовый файл с расширением PHP (например, test.php).
Откроем его в любом текстовом редакторе и вставим в него такой код:
Далее в браузере в адресной строке укажем такой url-адрес: . Если все настроено верно, в окне должна появится о версии и основных конфигурационных настройках установленной версии PHP (PHP Info).
На этом все! Итак, мы рассмотрели самый простой способ развернуть полноценный веб-сервер IIS с поддержкой PHP 5.x на базе Windows Server 2012 / Windows 8.
Установка PHP 7.3.1 на IIS 10
- 24 марта
Расскажу вам о наиболее оптимальном способе установки PHP на IIS. Ставить будем PHP 7.3.1 на IIS 10. IIS крутится на сервере с Windows Server 2016. Раньше я устанавливал PHP руками, помните, что для Windows нужно выбирать PHP NTS версию.
If you are using PHP as FastCGI with IIS you should use the Non-Thread Safe (NTS) versions of PHP.
Однако, на этот раз я решил последовать совету с официального сайта. На php.net немного коряво написано:
Если вы хотите настроить PHP используя в качестве веб-сервера IIS, то проще всего это сделать используя
Microsoft Web Platform Installer (WebPI).
Заходим по ссылке:
Нажимаем зелёную кнопку Install this extension и качаем инсталлятор.
Открывается мастер установки WebPI.
Принимаем лицензионное соглашение — Install.
Установка завершена, это было несложно. Finish.
Находим в установленных программах Web Platform Installer и запускаем.
Ждём. Открывается окошко.
Кликаем на вкладку Products. Слева выбираем Frameworks. Находим в списке PHP 7.3.1 — не самая новая, но меня устроит.
Тыкаем в Add. На самом деле здесь много чего можно найти интересного, например, MySQL, правда, не очень новой версии. В разделе Server нахожу URL Rewrite 2.1 — расширение для IIS. Мне потом понадобится, тоже добавляю. К установке PHP оно не относится, вам может и не нужно.
Обещают установить три модуля:
- PHP 7.3.1 (x64)
- PHP Manager for IIS — полезная штука для управления PHP из оснастки IIS.
- URL Rewrite 2.1 — мне надо.
Соглашаемся — I Accept.
Полетела установка. Но взлетела не очень высоко.
We’re sorry. The following product have failed to install.
PHP Manager for IIS не поставился, ай-ай-ай, как печально. Зато поставилось куча всего другого, что нам поставить не обещали:
- RunPHP Helper — не догадываюсь для чего оно, но пусть помогает.
- Microsoft Visual C++ 2008 Redistributable Package — это, наверное, нужно для работы моего URL Rewrite 2.1.
- URL Rewrite 2.1 — хорошо.
- PHP 5.3.28 — ээээ, я не просил, ладно, пусть полежит.
- PHP 7.3.1 (x64) — вот то что надо.
Ладно, если что, лишний PHP удалю потом. Давайте решим вопрос с PHP Manager for IIS. Гуглим ссылочку:
Нажимаем Download this extension.
OK. Запускается мастер установки.
Принимаем лицензионное соглашение, Next.
В IIS появляется новая оснастка под названием PHP Manager.
Внутри не сложно, разобраться можно.
Для каждого сайта можно выбирать свою PHP версию, регистрировать новые, управлять расширениями и т.д.
PHP на Windows и IIS7
Установка и настройка PHP для использования с модулем FastCGI.
Установка и настройка модуля FastCGI на IIS7.
Если у вас у IIS7, то что-то мне подсказывает о названии вашей операционной
системы — Windows Vista? Не угадал, тогда Windows Server 2008! Либо вы хакер и
поставили IIS7 еще-куда-то, но это нестандартное решение и мы его не
поддерживаем ;).
Шаг 1. Установка FastCGI
Хочу обрадовать сразу — в IIS7, идущем с Windows Server 2008 и Windows Vista
Service Pack 1 модуль FastCGI уже включен. Его необходимо лишь подключить в
настройках. Для этого на Vista нужно открыть Control Panel -> Programs и выбрать
«Turn Windows Features On or Off»:
После этого необходимо установить фичу в IIS: Internet Information Services
-> World Wide Web Services -> Application Development Features -> CGI. При этом
будет установлена поддержка и CGI и FastCGI.
На Windows Server 2008 процесс аналогичен: Server Manager -> Roles -> Add
Role Services -> Web Server -> Application Development -> CGI.
Собственно все, что требуется для включения модуля FastCGI.
Шаг 2. Конфигурация IIS7
1. Открыть IIS Manager, выбрать узел (сервер) для которого нужно настроить
поддержку PHP. И далее выбрать Handler Mappings.
2. Выбираем на странице Handler Mappings ссылку Add Module Mapping и
заполняем окно следующими значениями:
Request path: *.php (обработка всех файлов с расширением .php)
Module: FastCgiModule (модуль FastCGI)
Executable: C:WebPHPphp-cgi.exe (путь к PHP)
Name: PHP (имя для удобства)
После добавления этой настройки появится окно с вопросом о регистрации
FastCGI приложения для этого обработчика. Подтверждаем.
Описанные выше действия привели к созданию в директории PhpSites следующего
web.config файла:
xml version =«1.0» encoding =«UTF-8» ? >
configuration >
system.webServer >
handlers >
add name =«PHP» path =»*.php» verb =»*»
modules =«FastCgiModule» scriptProcessor =»C:WebPHPphp-cgi.exe»
resourceType =«Unspecified» />
handlers >
system.webServer >
configuration >
* This source code was highlighted with Source Code Highlighter .
Теперь можно переходить к проверке работоспособности PHP.
Шаг 3. Проверяем корректность настройки
В директории узла для которого мы сконфигурировали PHP создаем файл
index.php:
И обращаемся к этому файлу через HTTP запрос. В результате, если все хорошо и
наша карма не испорчена, запрос будет корректно обработан:
Рекомендации по настройке PHP на
IIS7
Частота перезапуска процессов PHP
Поскольку при использовании PHP на
IIS7 с использованием FastCGI
модуля, сам модуль FastCGI берет на себя
управление процессами и ресурсами, необходимо убедится, что механизм перезапуска
процессов (recycling) в PHP
не будет мешать FastCGI. Это легко сделать, если
настроить FastCGI так, чтобы он всегда перезапускал
процессы раньше, чем это сделает PHP.
В настройках FastCGI существует настройка
instanceMaxRequests, определяющая после обработки какого количества запросов,
процесс будет перезапущен. В PHP аналогичный параметр
задается значением переменной PHP_FCGI_MAX_REQUESTS. Очевидно, чтобы дать
возможность FastCGI рулить процессом, достаточно
установить instanceMaxRequests fastCgi >
application fullPath =»C:inetpubphpphp-cgi.exe»
maxInstances =«4» instanceMaxRequests =«10000» >
environmentVariables >
environmentVariable name =«PHP_FCGI_MAX_REQUESTS» value =«10000» >
environmentVariables >
application >
fastCgi >
* This source code was highlighted with Source Code Highlighter .
Использование нескольких версий PHP
fastCgi >
application fullPath =«C:inetpubphpphp-cgi.exe» >
.
application >
application fullPath =«C:inetpubphp4php4.exe» >
.
application >
application fullPath =«C:inetpubphp41php41.exe» >
.
application >
fastCgi >
* This source code was highlighted with Source Code Highlighter .
handlers >
add name =«PHP4» path =»*.php» verb =»*» modules =«FastCgiModule»
scriptProcessor =»C:inetpubphpphp41.exe»
resourceType =«Unspecified» />
handlers >
* This source code was highlighted with Source Code Highlighter .