Server php windows: PHP: Инструмент установки PHP на Windows

Содержание

Настройка среды разработки PHP в Windows

В целях автоматической установки всех параметров настройки для механизма PHP, сервера HTTP Apache и сервера базы данных MySQL воспользуйтесь пакетом AMP. В данном учебном курсе приведены указания только для пакета XAMPP-Windows. Справочные сведения по пакету WAMP или другим пакетам приведены в разделе NetBeans XDebug Wiki.

Установка и настройка пакета XAMPP

В этом разделе приведено описание процедур загрузки, установки и настройки пакета XAMPP.

Предупреждение! НЕ используйте XAMPP 1.7.0. В этой версии имеются значительные проблемы с XDebug. Используйте версию 1.7.1 или выше, где эти неполадки устранены.

Начиная с XAMPP 1.7.2, XAMPP поставляется с PHP 5.3а не с PHP 5.2.x. IDE NetBeans для PHP версии 6.7.x не поддерживает новые функции PHP 5.3. IDE NetBeans для PHP 6.8, которая в настоящее время доступна как сборка разработки, полностью поддерживает PHP 5. 3. Также обратите внимание, что установка Xdebug различается для PHP 5.2.x и PHP 5.3.
  1. Загрузите пакет программы установки +XAMPP +. В состав XAMPP Lite не входит XDebug.

  2. По завершении загрузки запустите файл EXE .

В Microsoft Vista функция контроля учетных записей пользователей (UAC) блокирует обновление установщиком PHP настройки службы httpd Apache. На время установки XAMPP следует отключить UAC. Для получения дополнительных сведений обратитесь к разделу Поддержка Майкрософт.

  1. Можно установить сервер Apache и сервер базы данных MySQL как веб-службы. Если Apache Server и MySQL установлены как службы, то нет необходимости запускать их вручную с помощью «XAMP Control Panel». Следует учитывать, что установить и удалить эти службы можно с помощью панели управления XAMPP.

  2. При использовании самораспаковывающегося архива после его распаковки запустите файл setup-xampp.bat для настройки компонентов пакета. Программа установки XAMPP запускает этот файл автоматически.

  3. После настройки откройте панель управления XAMP. Эту панель можно открыть посредством запуска файла XAMPP_HOME/xampp-control.exe или с помощью значка панель управления XAMPP, автоматически размещаемого на рабочем столе. При открытии панели управления XAMPP следует учитывать, что модули, установленные как службы, уже выполняются.

*Предупреждение. *Иногда в Windows Vista не удается запустить файл xampp-control.exe . В этом случае можно запустить xampp-start.exe .

*Предупреждение. *Файл winmysqladmin.exe , запускаемый кнопкой «Admin» для MySQL, не функционирует. Отображается последовательность сообщений об ошибках, которая может быть остановлена только путем завершения процесса winmysqladmin вручную. Файл winmysqladmin.exe также невозможно запустить из командной строки. Обратитесь к странице http://bugs. xampp.org/view.php?id=71.

  1. Флажки «Svc» указывают на то, что модуль устанавливается как служба Windows и автоматически выполняется при запуске системы. Службы Windows устанавливаются и удаляются при установке и снятии флажка «Svc». При удалении службы Windows сам модуль не удаляется, однако необходимо запускать его вручную. Панель управления XAMPP включает в себя кнопки запуска и остановки модулей, а также открытия их консолей администратора.

Проверка установки XAMPP

  1. Запустите браузер и введите следующий URL-адрес: http://localhost . Откроется страница приветствия XAMPP:

  1. В целях обеспечения установки серверов Apache и MySQL в качестве служб системы перезапустите операционную систему, запустите браузер и повторно введите URL-адрес http://localhost . Откроется страница приветствия XAMPP. Обратите внимание на то, что в левом поле страницы приветствия XAMPP имеется меню, посредством которого можно проверить состояние компонентов XAMPP, запустить phpinfo() , а также воспользоваться другими важными функциями. При выполнении phpinfo() возвращается экран с информацией о настройке компонентов XAMPP.

Установка и включение отладчика XDebug

Для использования отладчика XDebug необходимо настроить стек PHP. Процесс отличается, если используется XAMPP 1.7.1, который включает в себя PHP 5.2.6, или XAMPP 1.7.2, который включает в себя PHP 5.3.

Многие пользователи испытывают трудности при настройке работы XDebug в своих системах. Справочные сведения приведены на вики-страницеи на форуме пользователей редактора NetBeans PHP Editor.

XDebug на XAMPP 1.7.1 (PHP 5.2)

Необходимо скачать XDebug, поместить файл .dll в базовый каталог php и настроить php.ini для поиска и использования данного файла.

  1. Загрузите самую последнюю, ориентированную на многопотоковое исполнение версию XDebug, совместимую с вашей версией PHP. Ссылки для загрузки перечислены в разделе «Releases». Скопируйте файл .dll в каталог XAMP_HOME/php/ext . ( XAMPP_HOME ссылается на каталог установки XAMPP или XAMPP Lite, например, C:\Program Files\xampp или C:\xampplite .)

  2. Найдите и откройте активный файл php.ini для XAMPP. По умолчанию он находится в каталоге XAMPP_HOME/apache/bin . Подтвердите, какой файл php.ini является активным, с помощью phpinfo() и поиска загруженного файла конфигурации.

  3. Поскольку оптимизатор Zend блокирует XDebug, оптимизатор требуется отключить. В активном файле php.ini найдите следующие строки и удалите или отметьте их как комментарии (для надежности выполните поиск и закомментируйте все свойства, связанные с Zend):

[Zend]
;zend_extension_ts = "C:\Program Files\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
;zend_extension_manager.optimizer_ts = "C:\Program Files\xampplite\php\zendOptimizer\lib\Optimizer"
;zend_optimizer. enable_loader = 0
;zend_optimizer.optimization_level=15
;zend_optimizer.license_path =
  1. Для присоединения
    XDebug к механизму PHP раскомментируйте следующие строки в файлах php.ini (добавьте эти строки непосредственно в разделе [Zend]), если они отсутствуют. Добавлены дополнительные примечания.

[XDebug]; Only Zend OR (!) XDebug
zend_extension_ts = "./php/ext/php_xdebug<-version-number>.dll"
; XAMPP and XAMPP Lite 1.7.0 and later come with a bundled xdebug at <XAMPP_HOME>/php/ext/php_xdebug.dll, without a version number.xdebug.remote_enable=1xdebug.remote_host=127.0.0.1xdebug.remote_port=9000
; Port number must match debugger port number in NetBeans IDE Tools > Options > PHPxdebug.remote_handler=dbgpxdebug.profiler_enable=1xdebug.profiler_output_dir="<XAMPP_HOME>\tmp"

Установите свойство xdebug.remote_enable в значение 1, а не в значение «true» или другое значение.

Убедитесь в том, что указанные пути соответствуют расположению соответствующих файлов, как это определено при установке.
  1. Сохраните файл php.ini .

  2. Запустите панель управления XAMPP и перезапустите сервер Apache.
    Дополнительные сведения о настройке XDebug приведены на вики-странице и в документации по XDebug.

Xdebug на XAMPP 1.7.2 (PHP 5.3)

XAMPP 1.7.2 поставляется вместе с соответствующим файлом Xdebug .dll. Для начала использования необходимо только настроить php.ini . Обратите внимание, что все настройки Xdebug сопровождаются поясняющим текстом.

  1. Найдите и откройте файл XAMPP_HOME\php\php.ini для редактирования. В XAMPP 1.7.2 используется только файл php.ini

  2. Найдите строку zend_extension = "XAMPP_HOME\php\ext\php_xdebug.dll" и удалите символ комментария.

  3. Найдите строку xdebug.remote_host=localhost и удалите символ комментария. Измените значение параметра localhost на 127.0. 0.1 .

  4. Найдите строку xdebug.remote_enable = 0 и удалите символ комментария. Измените 0 на 1.

  5. Найдите строку xdebug.remote_handler = "dbgp" и удалите символ комментария.

  6. Найдите строку xdebug.remote_port = 9000 и удалите символ комментария.

  7. Сохраните файл php.ini .

  8. Запустите панель управления XAMPP и перезапустите сервер Apache.

Дополнительные сведения о настройке XDebug приведены на вики-странице и в документации по XDebug.

Инструкция по настройке и использованию PHP и IIS на Windows Server 2016

IIS (Internet Information Services) — это службы интернета для ОС Windows. Включают в себя веб-сервер, ftp-сервер и другие компоненты. Применительно к веб-серверу IIS используется как синоним, что немного неправильно, однако достаточно распространено. В данной инструкции Мы будем настраивать веб-сервер IIS с поддержкой php. Это будет делаться в два этапа — сначала установим IIS, потом поставим PHP.

Так как веб-сервер входит в службы IIS (Internet Information Services), необходимо предварительно установить роль “Веб-Сервер (IIS)”. Для этого нажмите комбинацию клавиш Win+R для запуска командной строки и введите туда servermanager.

Далее запустить мастер установки ролей и компонентов нажав кнопку “добавить роли и компоненты”.

Выйдет страница приветствия на которой можно просто нажать “вперед”, а также поставить галочку “Пропускать эту страницу по умолчанию”, если вы не хотите постоянно видеть эту страницу при запуске мастера установки ролей и компонентов.

Далее ОС уточнит что именно вы хотите сделать — просто добавить роли и компоненты или установить службы удаленного доступа. Выберем установку ролей и компонентов.

Далее спрашивается на какие сервера устанавливать роли и компоненты. У вас может быть несколько серверов и они могут быть объединены в пул для централизованного управления с одной консоли. Также роль может быть установлена на виртуальный жесткий диск. Выберем интересующий нас сервер и нажмем далее.

На этом этапе необходимо выбрать роль, которую мы желаем установить на выбранный нами на предыдущем шаге сервер. В данном случае это роль “Веб-сервер (IIS)”.

Далее ОС предложит дополнительно установить необходимые компоненты — следует согласиться, нажав кнопку добавить компоненты.

Далее выводится информационное сообщение о том что такое роль iis.

Служба IIS — большой продукт, включающий в себя множество различных компонентов, поэтому далее потребуется указать какие именно компоненты следует установить — нас интересует веб-сервер. Остальные компоненты можно оставить как есть или отключить, если не хотите ставить лишние компоненты. Оставим также и консоль управления.

После выбора компонентов выведется финальное предупреждение о том, что роль IIS готова к установке. Нажмите установить. Можно также поставить галочку “Автоматический перезапуск конечного сервера, если требуется” чтобы не перезапускать сервер вручную. Следует иметь ввиду, что нажатие этой галочки перезапускает конечный сервер после установки без дополнительных предупреждений, поэтому используйте ее с осторожностью.

После нажатия кнопки установить запустится процесс установки, можно закрыть это окно нажатием кнопки закрыть. Следует иметь ввиду, что это действие не отменяет процесс установки, а только скрывает текущее окно.

Посмотреть, как идет процесс и сколько их запущено, можно, нажав белый флаг.

В данном случае мы видим что установка уже завершена. Можно приступать к настройке.

Для настройки перейдем в оснастке “диспетчер сервера” во вкладку IIS, выберем сервер и нажмем правую кнопку мыши. Выбираем из него “Диспетчер служб IIS”. Слева в дереве подключений находим наш сервер и разворачиваем его двойным щелчком мыши. Встаем на закладку “Сайты” и видим что сайт по умолчанию уже настроен.

.Для проверки достаточно в проводнике windows набрать http://<имя компьютера> после чего должна открыться тестовая страница iis.

Для установки PHP воспользуемся установщик Microsoft Web Platform Installer 5.0 (WPI), скачать который можно по этой ссылке.

Установим сам инсталлятор. Примем лицензионное соглашение и нажмем install.

Теперь запустим его выбрав в главном меню соответствующий пункт.

В правом верхнем углу введем php для поиска необходимого нам компонента.

Найдем нужную нам версию php — например 7.1.19 (x64) и добавим ее для установки кнопкой “Добавить”.

После этого нажмем кнопку установить внизу страницы.

Согласимся с лицензионными соглашениями нажав кнопку ”Принимаю”.

Начнется загрузка и установка компонентов,

По завершении нажмите кнопку “Готово”. Для проверки cоздадим индексный файл php файл c:\inetpub\wwwroot\index.php выводящий версию php.

После этого удаляем файлы iisstart* из папки c:\inetpub\wwwroot, и проверим что php работает набрав в браузере http://<имя или ip сайта>.

На этом настройка PHP+IIS на Windows Server 2016 окончена. В нашей базе знаний вы найдёте ещё множество статей посвящённых различным аспектам работы в Windows, а если вы ищете надежный виртуальный сервер под управлением Windows, обратите внимания на нашу услугу — Аренда виртуального сервера Windows.


 

Заказать сервер на Windows

Последнее обновление: 17.08.2022

Простой веб-сервер Windows для PHP и CGI-скриптов

Что это?

Веб-сервер Windows был разработан для тестирования программ PHP и CGI/FCGI под Windows без установки среды Apache или IIS. Веб-сервер прост в установке и поставляется со встроенным PHP 8.0.17, поддержкой FastCGI, mod_rewrite и SSL/TLS 1.2. Также интегрированы FTP(S), WebDAV и DNS. WWebserver не является Apache и был разработан с нуля. Он был протестирован с распространенными приложениями OpenSource, такими как WordPress, Joomla, Drupal, Typo3, Magento, phpMyAdmin, PIWIK, AWstats. Это как XAMPP, но намного умнее.


Установка и конфигурация

1. Установите полную программу с PHP 8.0.17 (WIN7+, WIN10)
WWEBSERVER_PHP_8017_SETUP.EXE (36,0 MB)

или PHP 7.4.32 (Win7+, Win10)
WWEBSERVER_PHP_7432_SERIP.SER. ) или PHP 7.3.11 wwebserver_php_7311_setup.exe (35,5 МБ) или более ранние версии …

Или с PHP 5.4.45 (WinXP+)
wwebserver_php_5445_setup.exe (16,6 МБ)

Или используйте только командную строку, самую маленькую версию без встроенных PHP, SSL, FTP, WebDAV, WWadmin.
Вы должны загрузить предпочитаемую версию PHP вручную и настроить ее с помощью FastCGI.
wwebserver_19_cmd.zip (210 КБ)

2. Введите хост, порт, путь к документу и запустите его.

Порт HTTP по умолчанию — 80, но вы можете выбрать
любой другой порт, если в вашей системе только что запущен другой веб-сервер.
Если вам не нужен SSL, вы можете поставить галочку No HTTPS.
Можно привязать к нескольким ip адресам и портам через запятую.
Или введите все , чтобы использовать все IP-адреса, доступные в вашей системе.

После запуска вы можете закрыть окно и управлять веб-сервером с помощью значка на панели задач.
Или вызовите https://localhost/wwadmin/ для панели Webadmin.

3. Откройте веб-браузер и запустите приложение PHP, например:

http://localhost/index.php


Виртуальные каталоги

Вы можете определить виртуальные каталоги для обработки нескольких путей к документам.
Поэтому отредактируйте следующий файл конфигурации:

C:\WWebserver\cfg\vdir.txt

# Определения виртуальных каталогов
# <Путь>;<Каталог>
#
# Примечание. В конце <Пути> должен стоять символ ‘/’

pma /;C:\phpMyAdmin
typo3/;C:\typo3
drupal/;C:\drupal
wordpress/;C:\wordpress

Теперь вы можете запускать приложения очень просто, например: http://localhost/wordpress

Примечание. После изменения vdir.txt ОСТАНОВИТЕ и снова ЗАПУСТИТЕ веб-сервер.

Другой способ обработки нескольких приложений — зарегистрировать виртуальные хосты с собственными DNS-записями внутреннего DNS-сервера.


CGI-программы

Вы можете определить собственные CGI-программы, например Perl или Ruby.
Поэтому отредактируйте следующий файл конфигурации:

C:\WWebserver\cfg\cgi.txt

# Определения программ CGI
# <Псевдоним 1> <Псевдоним 2> …;<Полный путь к программе CGI>
# <Псевдоним 1> <Псевдоним 2> …;PHPBuildIn
# <Псевдоним 1> <Псевдоним 2> …;PHPFCGI [<Полный путь к php-cgi.exe>]
# <Псевдоним 1> <Псевдоним 2> …;FCGI <Полный путь к программе FastCGI> | :<Порт> или <Имя канала>
# <Псевдоним 1> <Псевдоним 2> …;FCGI :<Порт> или <Имя канала>

.php .php4 .php3;PHPFCGI
.rb;C:\ruby\bin\ruby.exe
.pl;C:\perl\bin\perl.exe

В этом примере мы связываем расширения файлов .rb со скриптами Ruby и .pl
с Perl-скриптами.
Файлы .php .php3 .php4 связаны с PHP FastCGI текущей установленной версии.
По умолчанию PHP будет использоваться как версия PHPBuildIn, что означает, что отдельные процессы PHP не будут создаваться в отличие от PHPFCGI.
На мой взгляд, PHPBuildIn — самая быстрая версия PHP, но вы не можете использовать разные версии PHP на виртуальных хостах с помощью PHPBuildIn.

Примечание. После изменения cgi.txt ОСТАНОВИТЕ и ЗАПУСТИТЕ веб-сервер снова.


Конфигурация PHP

Вы можете управлять средой PHP с помощью файла php.ini:

C:\WWebserver\cfg\php.ini

Вы можете включать/отключать DLL расширения PHP, расположенные в каталоге:

C:\WWebserver\ext

Примечание. После изменения php.ini вам необходимо ВЫЙТИ и ПЕРЕЗАПУСТИТЬ веб-сервер.


Виртуальные хосты

Вы можете определить виртуальные хосты с собственными домашними каталогами и настройками PHP. Поэтому отредактируйте следующий файл конфигурации:

C:\WWebserver\cfg\vhost.txt

# [<уникальное имя>=][ …];
# Вы можете создать для каждого виртуального хоста собственный каталог конфигурации: cfg/vhost/
# Следующие файлы конфигурации могут быть перезаписаны: mime. txt, vdir.txt, cgi.txt, php. ini (только для FastCGI)

# Примеры
mydomain.com,www.mydomain.com;C:\MyDomain.com
localhost:9090;C:\localhost_9090

Примечание. Виртуальный хост сообщает веб-серверу домашний каталог домена.
Однако домен должен разрешаться через DNS, чтобы ваш веб-браузер мог найти IP-адрес домена, который должен быть IP-адресом, на котором работает веб-сервер.
Вы можете легко использовать встроенный DNS-сервер для настройки виртуальных доменов в вашей системе.


Перезапись URL

Подробнее о mod_rewrite, Redirect и .htaccess.


Защита каталогов

WWebserver понимает базовую авторизацию HTTP.
Подробнее о защите каталогов.


SSL/TLS 1.2

WWebserver поддерживает TLS 1.2 по умолчанию (на основе OpenSSL v1.1.0b). Самоподписанные сертификаты X.509 (RSA 2048 бит) генерируются автоматически для
каждое имя хоста. Вы можете установить свои собственные сертификаты в следующий каталог:

C:\WWebserver\cfg\ssl для общедоступных сертификатов

C:\WWebserver\cfg\ssl\key для файлов закрытых ключей

Сертификаты и файлы ключей должны иметь следующее соглашение об именах файлов: . crt , .key
Вы можете игнорировать www . префикс. Каждый файл сертификата будет автоматически проверяться на сайте www. домены.

Примечание. Самоподписанные сертификаты помечаются как небезопасные большинством веб-браузеров и работают очень медленно из-за сбоя рукопожатия TLS.
Пожалуйста, используйте https:// вместо имени хоста для быстрого соединения HTTPS.


FTP-сервер с явным TLS

Читать мануал: Настройка внутреннего FTP-сервера


DNS-сервер

Читать мануал: Конфигурация внутреннего DNS-сервера


WebDAV

Если хочешь получить Для доступа WebDAV к пути к документу необходимо создать пароль WWAdmin с помощью reset_pwd.bat
. После этого вы можете войти в систему с помощью клиента WebDAV и пользователя wwadmin . Пользователям FTP в cfg\ftpuser.txt разрешен доступ к своим ресурсам со следующим URL:
http(s)://<имя хоста>/webdav-users/<пользователь>/
Путь /webdav-users/. .. всегда будет запрашивать вход пользователя и ссылку на домашний каталог указанного пользователя.
Внимание! Вам не нужно включать FTP, чтобы получить доступ к WebDAV с пользователем wwadmin или пользователями FTP.


Cronjobs

Вы можете выполнять cronjobs с WWebserver. Crontab организован так же, как crontab в Linux. Пожалуйста, отредактируйте следующий файл:

C:\WWebserver\cfg\crontab.txt

# <минута> <час> <день> <месяц> <день недели> |exec []
# День недели: 1 = Пн, 0 = Вс
# Специальные ключевые слова:
# @startup вызывается при первом запуске
# @start вызывается при первом запуске и после перезапуска
# @shutdown вызывается при окончательном завершении работы
# @stop вызывается при окончательном завершении работы выключение и перед перезапуском

# В этом примере мы каждые 10 минут вызываем URL-адрес и сохраняем результат в cron_result.html
*/10 * * * * https://www. mydomain.com/program.php?param1=1&param2 =2 cron_result.html

# В этом примере мы запускаем локальную программу (wget.exe) в субботу в 23:00
0 23 * * 6 exec wget.exe http://www.mydomain.com/program.php?param1=1&param2=2 -O cron_result_wget.html

# В этом примере мы вызываем скрипт при запуске
@startup * * * * exec php.exe startup_script.php

Примечание. После изменения файла crontab.txt перезапускать веб-сервер не требуется.


Оптимизация сервера

Количество параллельных запросов, тайм-ауты, включение/отключение .htaccess и индекс каталога можно настроить с помощью следующего файла конфигурации:

C:\WWebserver\cfg\speed.txt


Специальные файлы

Вы можете заблокировать доступ к определенному каталогу и всем подкаталогам, просто создав в этом каталоге следующий пустой файл:

запрещено

Вы можете принудительно перезапустите или остановите WWebserver, создав следующие пустые файлы в каталоге установки:

restart     stop


Параметры командной строки

WWebserver поставляется как версия с графическим интерфейсом и интерфейсом командной строки.

Вы можете увидеть все параметры командной строки с —help:

C:\WWebserver\wwebserver_cmd.exe —help


Server Administration Panel

http://localhost/wwadmin/


Experimental Laboratory for Scripts

Read manual: Install WWLabor


Форум

Сообщения об ошибках и обсуждение: загляните на форум Windows Webserver.

Старые версии (также для Windows 2000) можно найти здесь.


Сервер разработки IIS для PHP в Windows 10

Когда вы думаете о разработке локального веб-сервера с PHP, вы, вероятно, думаете о стеке AMP: Apache, MySQL и PHP. В некоторых случаях ваша действующая среда может диктовать использование служб Microsoft Internet Information Services (IIS) — обычно в случае корпоративных развертываний или когда вы работаете с клиентом, вложенным в платформу Windows. В этих случаях вам лучше использовать IIS самостоятельно, чтобы предотвратить неприятные сюрпризы из-за расхождений между вашей локальной и реальной средами, в первую очередь тот факт, что IIS не понимает файлы . htaccess.

В этой статье мы увидим, как создать локальный сервер разработки IIS в Windows 10 Professional с несколькими версиями PHP и MySQL.

Предварительные условия

Убедитесь, что у вас установлена ​​Windows 10 Professional или Enterprise. Насколько я могу судить, вы получаете IIS Express только в Windows 10 Home, что не одно и то же. Мнения расходятся даже на официальных форумах поддержки. Если у вас возникли проблемы с поиском некоторых функций и параметров, описанных в этой статье, в Windows 10 Домашняя, вам необходимо перейти на Профессиональную.

Запуск серверного программного обеспечения нагружает ЦП, диск и память вашего компьютера. Хотя это и не обязательно, я рекомендую процессор Intel Core i5 или AMD Ryzen 5, твердотельный накопитель и 8 ГБ оперативной памяти. Чем больше, тем лучше. Я пишу это руководство на Intel NUC 2013 года с посредственным процессором i5-4250U класса ноутбука, 16 ГБ оперативной памяти 1666 МГц и твердотельным накопителем NVMe. SSD и дополнительная память, даже если она медленная, имеют большое значение.

Установка IIS

Нажмите одновременно клавиши Windows и R, чтобы открыть диалоговое окно «Выполнить». Тип appwiz.cpl и нажмите Enter. Откроется страница панели управления «Программы и компоненты».

В меню слева нажмите Включить или отключить функции Windows. Появится новое диалоговое окно Компоненты Windows. В разделе Информационные службы Интернета выберите следующие функции (выберите функции, выделенные жирным шрифтом ):

  • Инструменты веб-управления
    • Консоль управления IIS
  • Всемирные веб-службы
    • Особенности разработки приложений
      • Компьютерная графика
      • Расширения ISAPI
      • Фильтры ISAPI
      • На стороне сервера Включает
    • Общие функции HTTP
      • Документ по умолчанию
      • Просмотр каталога
      • Ошибки HTTP
      • Перенаправление HTTP
      • Статическое содержимое
    • Здоровье и диагностика
      • Ведение журнала HTTP
      • Инструменты для регистрации
      • Монитор запросов
      • Отслеживание
    • Характеристики производительности (вся подкатегория)
    • Безопасность
      • Базовая аутентификация
      • Дайджест-аутентификация
      • Фильтрация запросов
      • Авторизация URL
      • Проверка подлинности Windows

Ваш выбор должен выглядеть, как показано на следующем рисунке:

Компоненты Windows — выбор компонентов IIS

Нажмите OK и следуйте инструкциям на экране, чтобы перезагрузить компьютер после завершения установки.

Установка PHP

Вы можете скачать готовые двоичные файлы PHP для Windows с официального сайта PHP для Windows. Вам необходимо скачать ZIP-файл для Non Thread Safe версия нужной вам версии PHP. Например, если у вас 64-разрядная версия Windows 10, вам необходимо загрузить версию x64 Non Thread Safe, первая ссылка в этом поле:

Пример загрузки PHP x64 Non Thread Safe

Для этого руководства я скачал PHP 7.2, 7.3, 7.4 и 5.6.

Проверьте префиксы VC15, VC14 и т. д. в каждой загруженной версии PHP. Вам потребуется загрузить и установить соответствующий распространяемый пакет Microsoft Visual C++. Посмотрите на левую сторону сайта PHP. Например, это файл для VC14 и VC15, который подходит для 64-разрядных установок Windows 10.

Создайте каталог C:\PHP и поместите каждую версию PHP в подкаталог. Например, PHP 7.4 должен быть извлечен в каталог C:\PHP\7.4 . Следующие скриншоты должны дать вам лучшее представление.

C:\PHP на моем компьютереC:\PHP\7.4 (установка PHP 7.4) на моем компьютере

Для каждой версии PHP необходимо скопировать файл php.ini-development в php.ini и отредактировать его для настройки Ваша версия PHP. Это находится внутри папки каждой версии PHP, например. C:\PHP\7.4\php.ini .

Я внес следующие изменения в свои файлы INI:

 upload_max_filesize = 8M
post_max_size = 20M
[opcache]
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumment=64
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.use_cwd=1
opcache.validate_timestamps=1
opcache.revalidate_freq=5
opcache.enable_file_override=0
opcache.dups_fix=1

[xdebug]
;zend_extension="C:\PHP\7.4\ext\php_xdebug.dll"
xdebug.default_enable=1
xdebug.remote_autostart=0
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.idekey="PHPSTORM" 

Первые две строки относятся к нереально маленькому ограничению размера загрузки. Вам нужно, чтобы он был значительно больше, например, для установки расширений Joomla и плагинов WordPress с использованием метода загрузки.

Остальная часть файла — это то, что я объяснил в своей статье об улучшении производительности PHP в Windows.

Обратите внимание, что раздел XDebug имеет смысл только в том случае, если вы устанавливаете XDebug. Вы можете скачать его с PECL, но убедитесь, что загружаемая вами версия соответствует версии PHP, для которой вы ее устанавливаете. Вам также необходимо раскомментировать и адаптировать строку zend_extension.

Установка MySQL

Загрузите программу установки Windows MySQL. Ссылка для версии 8.0 (версия MySQL после 5.7; я знаю, что это странная схема управления версиями). Запустите его и следуйте всем инструкциям на экране, чтобы установить MySQL. Это должно быть понятно.

Первоначальная настройка

Прежде чем вы создадите свой самый первый сайт на IIS, мы собираемся внести некоторые изменения в среду, чтобы позже сохранить наше здравомыслие.

Установка PHP Manager

Использование PHP в IIS, как известно, сложно и утомительно. Если вы не используете PHP Manager для IIS. Это изящное дополнение IIS обрабатывает все мельчайшие детали для вас. Установите его.

Теперь нам нужно запустить приложение IIS Manager, чтобы настроить его. Удерживая нажатой клавишу Windows, нажмите R, чтобы открыть диалоговое окно «Выполнить». Введите InetMgr.exe и нажмите Enter.

Диспетчер IIS

Дважды щелкните значок диспетчера PHP (выделен на снимке экрана выше).

Интерфейс диспетчера PHP

В разделе «Настройка PHP» щелкните ссылку «Зарегистрировать новую версию PHP».

Диалоговое окно регистрации новой версии PHP

Открывшееся диалоговое окно позволяет зарегистрировать новую версию PHP с помощью PHP Manager. Введите путь к файлу php-cgi.exe вашей версии PHP, например. C:\PHP\7.4\php-cgi.exe и нажмите OK. Вот и все.

Повторите для всех установленных версий PHP.

Если вам когда-либо приходилось вручную настраивать PHP в IIS, вы, вероятно, плакали от радости. Если вам никогда не приходилось этого делать, поверьте мне, это был очень простой процесс по сравнению с тем, что нам приходилось делать несколько лет назад…

Импорт самозаверяющих сертификатов TLS для HTTPS создавайте собственные сертификаты SSL (TLS) для разработки HTTPS на локальных серверах Windows. Однако полученные файлы .crt предназначены для использования с Apache и несовместимы с IIS. Мы должны преобразовать их в формат, понятный IIS, и импортировать их

до начинаем определять сайты на IIS.

Хотя есть онлайн-конвертеры, которые сделают это за вас Я им не доверяю . Может быть, я параноик. Может быть, это я потратил много времени на безопасность веб-приложений. В любом случае мы будем использовать командную строку OpenSSL.

Вам потребуются следующие файлы:

  • certificate.key.pem Ваш файл закрытого ключа сертификата
  • certificate.cert.pem Ваш файл сертификата
  • ca-chain. cert.pem Файл цепи центра сертификации

Если вы следовали моему руководству по SSL-сертификатам, откройте терминал PowerShell и выполните следующее из пути вашего ЦС: certfile ca-chain.cert.pem

Вам потребуется ввести пароль к файлу ключей (называемый chageme в другом учебнике) и пароль для PFX-файла.

Теперь вернитесь в Диспетчер IIS и щелкните Сертификаты сервера.

Диспетчер IIS — расположение значка сертификатов сервера

В меню справа выберите «Импорт…»

Диспетчер IIS — страница «Сертификаты сервера»

Откроется диалоговое окно «Импорт сертификата».

Диалоговое окно «Импорт сертификата»

Перейдите к файлу сертификата (PFX), который вы создали ранее, и введите пароль, который вы использовали при его создании. Выберите хранилище сертификатов веб-хостинга и установите флажок Разрешить экспорт этого сертификата. Нажмите OK, чтобы завершить импорт сертификата. Теперь вы готовы создавать сайты HTTPS!

Важно знать, что это будет надежно работать только в том случае, если вы следовали инструкциям из моего другого руководства по разрешению всем браузерам доверять вашему пользовательскому центру сертификации. Если вы пропустите этот шаг, браузеры сообщат вам, что ваш сайт небезопасен, и откажутся подключаться к нему.

Использование пула приложений

По умолчанию каждый сайт в IIS работает в собственном пуле приложений. Пул приложений определяет, какой пользователь Windows получает доступ к файлам на вашем компьютере, когда вы загружаете страницу на указанном сайте. Это не имеет смысла для нашей локальной среды разработки, поскольку делает управление средствами управления доступом Windows излишне сложным. Вместо этого мы собираемся использовать один пул приложений для всех наших сайтов.

Вернитесь в Диспетчер IIS и щелкните пункт Пулы приложений в меню слева.

Диспетчер IIS — Страница пулов приложений

Щелкните Добавить пул приложений… на правой панели.

Диалоговое окно добавления пула приложений

В диалоговом окне введите имя Dev Sites . Если вы выберете другое имя, вам придется соответствующим образом изменить следующие инструкции.

Задайте для версии . NET CLR значение «Без управляемого кода». Мы создаем и пул приложений для сайтов PHP, мы не собираемся запускать какой-либо код .NET.

Оставьте другие параметры без изменений и нажмите OK.

Теперь мы собираемся создать папку для наших сайтов под вашей учетной записью.

Перейдите в домашний каталог своей учетной записи пользователя ( %UserProfile% ) и создайте папку с именем Sites.

Щелкните папку правой кнопкой мыши и выберите

Свойства папки «Сайты», затем щелкните вкладку «Безопасность». Нажмите кнопку «Изменить», чтобы изменить разрешения. Нажмите кнопку «Добавить», чтобы добавить группу пользователей для управления доступом.

Диалоговое окно «Выбор пользователей или групп»

В большом поле поиска введите IIS AppPool\Dev Sites и нажмите Проверить имена. Он станет подчеркнутым.

Вам может быть интересно, что только что произошло. На вашем компьютере нет такого пользователя или группы, если вы его ищете! IIS создает эту специальную группу пользователей при запуске пула приложений. Все сайты в этом пуле приложений будут использовать эту группу пользователей Windows для доступа к файлам. И нет, вы не можете увидеть это, если вы ищете это. Вы узнаете, как его найти, только прочитав документацию Microsoft по пулам приложений.

Диалоговое окно «Разрешения для папки «Сайты»

Вернуться к диалоговому окну «Разрешения для сайтов», щелкните «Сайты разработки» и выберите «Разрешить» в разделе «Полный доступ». Это позволяет IIS иметь права на чтение и запись в эту папку, которые необходимы для мирских задач, таких как установка Joomla или WordPress и их расширений и плагинов.

Важное примечание: если вы собираетесь использовать символические ссылки или соединения папок с другими каталогами с ваших сайтов, вам необходимо повторить упражнение с разрешениями и для этих других папок. В противном случае IIS не будет иметь доступа к связанным файлам и папкам. Конечно, это относится только к опытным пользователям, таким как ваш покорный слуга, и я упоминаю об этом, потому что я обычно читаю свои собственные сообщения в блоге в качестве справки, когда мне нужно решить какую-то глупую проблему после установки нового компьютера. ..

Доменные имена для ваших сайтов

Существует два способа настроить среду IIS.

Один из способов — создать отдельный сайт, который отвечает на URL-адреса локального хоста, например. http://локальный/пример. Это конфигурация IIS по умолчанию из коробки, и я настоятельно не одобряю ее. Все ваши сайты будут настроены как подкаталоги одного доменного имени, что влечет за собой серьезные последствия, например. в том, как изображения будут вставляться в статьи или вставлять относительные URL-адреса / постоянные ссылки SEF вместо использования функций ссылок на статьи вашей CMS. Если вам дорого ваше здравомыслие, не делайте этого.

Другой способ — использовать разные доменные имена для каждого из ваших сайтов. Я имею в виду использование для вашего сайта чего-то вроде http://example.local.web вместо http://localhost/example. Вот как я настраиваю свои локальные серверы и что я использую в этом руководстве.

Есть два способа использовать эти доменные имена для локальной разработки.

Первый заключается в использовании реального доменного имени, находящегося под вашим контролем, которое вы иначе не используете ни для каких целей (другими словами, одно из доменных имен, которое вы купили некоторое время назад, думая, что будете что-то с ним делать, но никогда не обошли это) с помощью службы DNS, такой как Amazon Route 53. Созданная вами запись A должна указывать на 127.0.01, а все поддомены настроены как CNAME. Если ваш домен — example.com, его запись A будет указывать на 127.0.0.1, site.example.com будет CNAME для example.com, site2.example.com будет CNAME для example.com и т. д. и т. д. вперед. Убедитесь, что TTL записи домена достаточно короткий, чтобы избежать длительных задержек между настройкой поддомена и возможностью его использования. Недостатком является то, что вам нужен DNS-сервер или служба и технические ноу-хау для его настройки. Кроме того, это решение работает только в том случае, если ваш компьютер подключен к сети, чего может не быть в случае с ноутбуком, или если вы работаете с непостоянным интернет-покрытием (например, когда вы ждете в течение месяца, пока ваша телефонная компания снова подключит вас к сети). Интернет после переезда и приходится полагаться на очень дорогое и ограниченное соединение 4G; был там). Если все это звучит как тайное знание, пожалуйста, читайте дальше.

Второй и более простой метод заключается в использовании «поддельных» доменных имен, которые разрешаются только на вашем сайте с помощью файла hosts Windows. Традиционно для этого требовалось редактирование файлов вручную. Однако для этого есть приложение: Hosts File Editor. Да, для этого требуются повышенные привилегии, потому что файл hosts является системным файлом и требует этих привилегий.

Интерфейс редактора файлов хостов

В IP-адресе всегда вводите 127.0.0.1 , то есть ваш локальный IP-адрес. В поле «Имена хостов» введите ваши поддельные доменные имена, разделенные пробелами. Я использую условное обозначение sitename.local.web, но вы можете использовать все, что хотите, если это не настоящее доменное имя, к которому вы хотите получить доступ через Интернет (файл hosts имеет приоритет над DNS). Например, ваш сайт будет www.foobar.web или www.mysite.david. Имейте в виду, что foobar.web и www.foobar.web — это два разных имени хоста, поэтому вы должны ввести ОБА через запятую, если вы планируете использовать их оба для своего сайта.

Также имейте в виду флажок в самом левом углу каждой строки. Вы должны проверить его, чтобы линия была активной. Неактивные строки не действуют. И не забудьте сохранить (слева вверху на панели инструментов) при добавлении или изменении имен хостов.

Создание сайтов

Вернитесь в окно Диспетчера IIS и щелкните запись Сайты. Здесь мы управляем нашими сайтами.

Диспетчер IIS — Страница сайтов

На правой панели щелкните ссылку Добавить веб-сайт….

Диалоговое окно «Добавить веб-сайт»

В открывшемся диалоговом окне введите имя сайта. Это только для справки. Введите все, что вы хотите здесь.

Нажмите кнопку «Выбрать…» рядом с пулом приложений и выберите пул приложений Dev Sites, который мы выбрали ранее. Помните, что это важно для контроля доступа. Если вы забудете установить его, вам придется вернуться и исправить его, потому что ваш сайт не будет загружаться!

В физическом пути перейдите к каталогу, в котором будут храниться файлы вашего сайта. Это должен быть подкаталог папки Sites, которую мы создали ранее. Помните, мы делаем это, чтобы избежать проблем с контролем доступа.

Оставьте тип http и IP-адрес Все Неназначенные и Порт 80.

В поле Имя хоста введите одно из доменных имен, созданных вами ранее либо через DNS, либо с помощью Редактора файлов хостов.

Нажмите OK. Теперь ваш локальный сайт работает.

Если вы хотите добавить HTTPS или другой (суб)домен, который должен прослушиваться сайтом, сначала выберите сайт, который вы хотите изменить, на левой панели. На правой панели выберите Bindings…

В новом диалоговом окне нажмите кнопку Add…. Эй, это выглядит знакомо, не так ли?!

Добавить привязку к сайту 

Для HTTPS установите для параметра Тип значение https и введите то же имя хоста, что и раньше. Оставьте IP-адрес All Unassigned и порт 443.

Выберите Require Server Name Indication. Это необходимо, потому что в конечном итоге у вас будет несколько сайтов, прослушивающих один и тот же IP-адрес (127.0.0.1).

Не забудьте выбрать импортированный ранее сертификат SSL. Наконец, нажмите ОК.

Если вы хотите настроить другое имя хоста (например, субдомен www), нажмите Добавить… еще раз. На этот раз повторите процесс один раз для HTTP (для поддомена www) и еще раз для HTTPS.

Если у вас есть несколько локальных сайтов, которые вы хотите настроить, повторите весь процесс в разделе «Создание сайтов» один раз для каждого сайта, который вы хотите создать.

Web.config

Помните, я говорил в самом начале, что IIS не поддерживает файлы .htaccess? Он имеет собственный тип файла конфигурации сайта, который называется web.config и представляет собой XML-документ. Этот файл используется для настройки таких вещей, как переписывание URL-адресов (обязательно для URL-адресов Joomla SEF и постоянных ссылок WordPress), а также для других типов точной настройки сайта.

Если вы устанавливаете сайт Joomla, не забудьте переименовать файл web.config.txt в web.config , чтобы включить URL-адреса SEF с перезаписью — настоятельно рекомендуемый режим работы.

Если вы устанавливаете сайт WordPress или ClassicPress, вы будете разочарованы, узнав, что в Кодексе нет ничего для вас. На самом деле WordPress предназначался только для использования с Apache. Однако для этого есть сторонние решения.

Стоит ли?

Как и во всем остальном в жизни, вопрос о том, будут ли возникать все эти проблемы с настройкой собственного сервера в Windows 10, когда есть предварительно упакованные серверы AMP (Apache — MySQL — PHP), такие как MAMP, WAMPServer и XAMPP.

По моему скромному мнению, в любом случае стоит заморачиваться, так как вы можете установить те версии PHP, которые наиболее важны для вас. Если вы работаете с обновлением или повторной реализацией старых сайтов, возможно, вы захотите установить еще более старые версии PHP, такие как 5.