Windows Server. Добавляем поддержку PHP веб-серверу IIS.

  • Автор:

webserver-iis-php-000.jpg

В прошлой статье мы рассказывали как настроить веб-сервер IIS для запуска на нем ASP.NET приложений. Не менее популярным языком для веб-приложений является PHP, поддержка которого позволит запускать на нашем сервере большое число популярных CMS, разработанных с его применением. Тем более что установить PHP для веб-сервера IIS довольно просто.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Сразу внесем ложку дегтя в бочку с медом. Большинство популярных решений на базе PHP не поддерживают работу с СУБД MS SQL, для их работы потребуется также установить MySQL, что несколько выходит за рамки этой статьи.

Учитывая, что большинство из них разрабатываются для платформы LAMP, то их взаимоотношения с MS SQL Server еще долгое время будут оставаться напряженными. Даже Joomla 2.5, в которой заявлена поддержка MS SQL содержит большое число ошибок реализации данного механизма, что практическое использование данной связки не представляется возможным.

Поэтому, если вам необходимо использовать массовые CMS разработанные для связки PHP + MySQL, то мы бы советовали все-таки обратить внимание на решения на платформе Linux.

В тоже время вы можете использовать связку PHP + IIS + MS SQL для разработки собственных решений или при использовании PHP движков поддерживающих данную СУБД, например старшие версии Битрикс. В следующих статьях мы также расскажем, как установить MySQL на платформу Windows, если вы все таки решите использовать IIS для запуска популярных PHP систем управления сайтом.

Итак, что нам понадобиться, чтобы установить PHP для IIS? Прежде всего сам PHP, скачиваем его с официального сайта в виде msi инсталлятора, также хотим обратить ваше внимание, что скачивать нужно потоконебезопасную (Non Thread Safe) версию.

За безопасность потоков в нашем случае будет отвечать IIS, при установке потокобезопасной версии вы можете столкнуться с неожиданным (вплоть до полной неработоспособности) поведением скриптов. Несмотря на то, что последней версией PHP является 5.4, мы будем использовать 5.3, так как еще не все популярные скрипты полностью совместимы с последней версией PHP.

Перед тем, как устанавливать PHP необходимо добавить веб-серверу поддержку технологии CGI, для этого перейдите в Диспетчер сервера - Роли - Веб-сервер - Добавить службы ролей. Также мы добавили поддержку технологии SSI, которая часто используется в популярных CMS.

webserver-iis-php-001.jpg

Теперь можно запускать инсталлятор PHP, путь установки лучше заменить на более короткий и без пробелов, например C:\PHP, в соответствующем окне выбираем режим работы IIS FastCGI. Все необходимые настройки PHP и IIS будут сделаны автоматически.

webserver-iis-php-002.jpg

Для работы с СУБД MS SQL установим драйвер Microsoft Drivers 3.0 for PHP for SQL Server, также мы рекомендуем установить Windows Cache Extension for PHP, чтобы PHP приложения могли эффективно кэшировать данные, работая на платформе Windows. Для установки необходимо указать папку с расширениями PHP, в нашем случае это C:\PHP\ext, куда будут распакованы необходимые библиотеки.

webserver-iis-php-003.jpg

В файл C:\PHP\php.ini добавим следующие строки, которые обеспечат подключение и загрузку необходимых модулей:

extension=php_wincache.dll
extension=php_sqlsrv_53_nts.dll

Также советуем обратить внимание на следующие опции:

upload_max_filesize = 2M
memory_limit = 128M

Первая задает максимальный размер загружаемого через PHP файла, по умолчанию 2 Мб, вторая максимально доступный размер памяти, которую может использовать скрипт. Вы можете откорректировать данное значение исходя из требований PHP-приложений и имеющейся в наличии свободной памяти.

Также мы советуем установить модуль URL Rewrite Module 2.0, после чего перезапустите веб-сервер через оснастку Диспетчер служб IIS.

После чего при помощи этой оснастки создадим новый сайт phpsite.local, для обращения к нему по URL не забудьте добавить соответствующие записи в файлы hosts на клиентах или A-запись на вашем DNS-сервере.

webserver-iis-php-004.jpg

Установим необходимые права на папку с сайтом, чтобы PHP имел доступ к содержимому папки необходимо добавить полные права, кроме группы IIS_IUSRS, также группе IUSR.

webserver-iis-php-005.jpg

Для проверки создадим в корневом каталоге сайта файл index.php со следующим содержимым:

<?php
phpinfo();
?>

Теперь на клиентской машине в браузере наберем http://phpsite.local, если все сделано правильно вы должны увидеть следующую страницу:

webserver-iis-php-006.jpg

На этом установку и настройку PHP для веб-сервера IIS можно считать успешно завершенной. Моно приступать к размещению и запуску своих приложений, написанных с применением этого языка. В следующей статье мы дополним наш сервер СУБД MySQL, что позволит вам запускать весь спектр популярных PHP-приложений.

Дополнительные материалы:

  1. Windows Server. Настраиваем веб-сервер IIS.
  2. Windows Server. Добавляем поддержку PHP веб-серверу IIS.
  3. Windows Server. Веб-сервер IIS, добавляем поддержку MySQL.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.


Loading Comments