В этой статье я расскажу как установить PHP 8 и Apache 2.4 на операционную систему Windows 10 (64-bit).

У пользователей Linux и macOS Apache и PHP часто предустановлены или доступны через менеджеры пакетов. Для Windows 10 требуется немного больше усилий. Приведенные ниже шаги могут работать с другими версиями Windows, PHP и Apache, но проверьте документацию по каждой зависимости для получения конкретных инструкций.

Почему PHP?

PHP остается самым распространенным и популярным языком написания сценариев на стороне сервера в веб-разработке.

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

Возможно, PHP не идеален, но его стоит рассмотреть как вариант для вашего следующего веб-приложения. На этом языке работают Facebook, Slack, Wikipedia, MailChimp, Etsy и WordPress — система управления контентом, на которой работает 40% всего Интернета.

Зачем устанавливать PHP локально?

Установка PHP на вашем компьютере для разработки позволяет вам безопасно создавать и тестировать веб-сайты и приложения, не затрагивая данные и системы на вашем живом сервере.

Вы избегаете тем самым большинства проблем, которые могут возникнуть в случае разработки сразу на рабочем сервере.

Альтернативные варианты установки

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

Использование пакета «Все в одном»

Для Windows доступны пакеты «все в одном», которые содержат Apache, PHP, MySQL и многие другие зависимости в одном установочном файле — например, XAMPP, WampServer и Web.Developer. В России и в СНГ самым популярным сервером является Openserver (ospanel.io).

Эти пакеты просты в использовании, но они могут не совсем соответствовать вашему рабочему серверу. Установка Apache и PHP вручную поможет вам больше узнать о системе и параметрах конфигурации.

Использование виртуальной машины Linux

Microsoft Hyper-V (поставляется в Windows 10 Professional) и VirtualBox — это бесплатные гипервизоры, которые эмулируют ПК, чтобы вы могли установить другую операционную систему.

Вы можете установить любую версию Linux, а затем следовать инструкциям по установке Apache и PHP. Кроме того, такие дистрибутивы, как Ubuntu Server, предоставляют их в стандартной комплектации (хотя они редко бывают последних версий).

Использование подсистемы Windows для Linux 2

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

Использование Docker

Docker создает оболочку (известную как контейнер) вокруг предварительно настроенных зависимостей приложений, таких как Apache, PHP, MySQL, MongoDB и большинства других веб-программ. Контейнеры выглядят как полноценные виртуальные машины Linux, но значительно более легковесны.

После установки Docker Desktop на Windows 10 можно легко загрузить, настроить и запустить Apache и PHP. В настоящее время Docker считается лучшим вариантом для создания среды разработки PHP.

Установка Apache (необязательно)

Если вы все еще читаете, в следующих разделах описывается, как установить Apache и PHP непосредственно на Windows.

PHP предоставляет встроенный веб-сервер, который можно запустить, перейдя в папку и запустив исполняемый файл PHP с параметром -S для установки порта localhost. Например:

cd \myproject
php -S localhost:8000

Страницы PHP можно просматривать в браузере по адресу http://localhost:8000.

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

Чтобы установить Apache, загрузите последнюю версию ZIP-файла для Win64 с сайта apachelounge.com.

Распакуйте содержимое папки Apache24 в корень диска C:. Вам также потребуется установить Visual C++ Redistributable для Visual Studio 2015-2019 (vc_redist_x64); ссылка приведена на той же странице.

Откройте командную строку cmd (не PowerShell) и запустите Apache с помощью:

cd C:\Apache24\bin
httpd

Возможно, вам потребуется принять исключение брандмауэра, прежде чем сервер начнет работать. Откройте http://localhost в браузере, должно появиться сообщение «Работает!» (It works!).

Примечание:

  • Если вам нужно изменить какие-либо настройки, файл конфигурации Apache находится по адресу C:\Apache24\conf\httpd.conf.
  • Корневая папка веб-сервера находится по адресу C:\Apache24\htdocs. Изначально она содержит единственный файл index.html с сообщением «It works!».

Кроме того, если Apache не запускается, то, скорее всего, другое приложение занимает порт 80. Skype — главный виновник, а приложение Windows 10 не позволяет вам отключить его.

Если это произошло, отредактируйте C:\Apache24\conf\httpd.conf и измените строку Listen 80 на Listen 8080 или любой другой свободный порт. Перезапустите Apache и с этого момента вы сможете загружать веб-файлы по адресу http://localhost:8080.

Сервер можно остановить с помощью Ctrl+C. Файл ReadMe в ZIP-архиве также содержит инструкции по установке Apache в качестве службы Windows.

Устанавливаем PHP

Установите PHP, выполнив следующие шаги. Обратите внимание, что существует несколько способов настройки Apache и PHP, но этот способ, возможно, самый быстрый.

Шаг 1: Скачиваем файлы PHP

Вам понадобится установщик PHP для Windows. Доступно несколько версий PHP. Убедитесь, что вы скачиваете последнюю версию ZIP-пакета PHP 8 x64 Thread Safe с сайта https://www.php.net/downloads.php.

Несмотря на то, что 8-я версия PHP вышла не так уж давно — уже можно скачивать стабильную версию.

Шаг 2: Извлекаем файлы

Создайте новую папку php в корне диска C:\ и извлеките в нее содержимое ZIP-архива.

PHP может быть установлен в любом месте вашей системы, но вам нужно будет изменить пути, указанные ниже, если не будете использовать C:\php.

Шаг 3: Конфигурируем php.ini

Конфигурационный файл PHP называется php.ini. Изначально его не существует, поэтому скопируйте содержимое C:\php\php.ini-development во вновь созданный файл C:\php\php.ini. Эта конфигурация по умолчанию обеспечивает настройку для разработки, которая сообщает обо всех ошибках и предупреждениях PHP.

Есть несколько строк, которые вам, возможно, придется изменить в текстовом редакторе (используйте поиск, чтобы найти текущее значение). В большинстве случаев вам нужно убрать точку с запятой (;), чтобы раскомментировать параметр.

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

extension=curl
extension=gd
extension=mbstring
extension=pdo_mysql

Если вы хотите отправлять электронные письма с помощью функции PHP mail(), введите данные SMTP-сервера в разделе [mail function] (сервер вашего провайдера ISP должен подойти):

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = mail.myisp.com
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = my@emailaddress.com

Шаг 4: Добавляем C:\php в переменную окружения path

Чтобы Windows могла найти исполняемый файл PHP, необходимо изменить переменную окружения PATH. Нажмите кнопку «Пуск» в Windows и введите «environment», затем нажмите «Редактировать переменные окружения системы» (Edit the system environment variables). Выберите вкладку «Дополнительно» (Advanced) и нажмите кнопку «Переменные среды» (Environment Variables).

Прокрутите вниз список System variables и нажмите Path, а затем кнопку Edit. Нажмите кнопку New и добавьте C:\php:

Обратите внимание, что в старых редакциях Windows есть одно текстовое поле, где каждый путь отделяется точкой с запятой (;).

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

Шаг 5: Конфигурирование PHP как модуля Apache

Убедитесь, что Apache не запущен, и откройте его файл конфигурации C:\Apache24\conf\httpd.conf в текстовом редакторе. Добавьте следующие строки в нижнюю часть файла, чтобы установить PHP как модуль Apache (при необходимости измените расположение файлов):

# PHP8 module
PHPIniDir "C:/php"
LoadModule php_module "C:/php/php8apache2_4.dll"
AddType application/x-httpd-php .php

По желанию измените параметр DirectoryIndex, чтобы загружать index.php вместо index.html, когда он будет найден. Первоначальная настройка такая:

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

Меняем на:

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

Сохраните файл httpd.conf и проверьте изменения из командной строки cmd:

cd C:\Apache24\bin
httpd -t

Если в вашей конфигурации нет ошибок, то должно появиться сообщение:

Syntax OK

Если все прошло успешно, перезапустите Apache с помощью httpd.

Шаг 6: Тестируем PHP-файл

Создайте новый файл с именем index.php в корневой папке веб-страницы Apache по адресу C:\Apache24\htdocs и добавьте следующий PHP-код:

<?php
phpinfo();
?>

Откройте веб-браузер и введите адрес вашего сервера: http://localhost/. Появится страница «PHP version», показывающая различные настройки конфигурации PHP и Apache.

Теперь вы можете создавать PHP сайты и приложения в любой подпапке C:\Apache24\htdocs. Если вам нужно работать над несколькими проектами, подумайте об определении виртуальных хостов Apache, чтобы вы могли запускать отдельные скрипты на разных доменах или портах localhost.

Статьи #