Варианты развертывания интерпретатора PHP на операционной системе Windows 10
Способы установки PHP на Windows 10
Какое решение является наиболее эффективным для ручной установки?
Для полного контроля над конфигурацией рекомендуется ручная установка PHP с официального сайта. Это позволяет выбрать версию, разрядность и набор расширений без лишних компонентов.
- Перейти на страницу windows.php.net/download/ и скачать zip-архив с актуальной версией (например, PHP 8.2.16 Non Thread Safe для использования с IIS, или Thread Safe для Apache).
- Распаковать архив в папку C:\PHP.
- В папке скопировать файл php.ini-development как php.ini и отредактировать его.
- Добавить путь к PHP в системную переменную PATH:
setx /M PATH "%PATH%;C:\PHP"После этого открыть новый терминал и выполнить:
php -vРезультат – вывод версии PHP, если всё настроено верно.
- Настроить php.ini: раскомментировать строки extension_dir и нужные расширения (curl, mysqli, openssl).
Типичная ошибка: php.exe не является внутренней или внешней командой. Причина – отсутствие пути в переменной PATH. Решение: убедитесь, что после выполнения setx вы открыли новое окно командной строки (или перезапустили сессию).
Ошибка: отсутствует VCRUNTIME140.dll. Требуется установить Visual C++ Redistributable for Visual Studio 2015-2022 (x64). Скачать с официального сайта Microsoft.
Как установить PHP вместе с Apache и MySQL в одном пакете (XAMPP)?
Для быстрого старта без ручной настройки подходит XAMPP. Это сборка Apache, PHP, MariaDB, Perl.
- Скачать XAMPP с apachefriends.org для Windows.
- Запустить установщик и указать папку (например, C:\xampp).
- После установки запустить панель управления XAMPP Control Panel и включить Apache и MySQL.
- Проверить работу PHP, создав файл C:\xampp\htdocs\info.php:
<?php phpinfo();Открыть в браузере http://localhost/info.php – увидеть таблицу с настройками PHP.
Возможная проблема: порт 80 занят (например, Skype). В XAMPP Control Panel для Apache нажать Config -> httpd.conf и изменить Listen 80 на другой порт, например 8080.
Как использовать WampServer для веб-разработки?
WampServer предоставляет графический интерфейс для управления Apache, PHP и MySQL. Подходит для локального тестирования.
- Скачать WampServer с wampserver.com (выбрать разрядность, совпадающую с системой).
- Запустить установку в папку C:\wamp64.
- После установки иконка в трее станет зелёной. Кликнуть на неё -> PHP -> PHP Extensions и включить нужные модули.
- Поместить проект в C:\wamp64\www\ и открыть http://localhost/имя_проекта.
Как автоматизировать установку PHP через менеджер пакетов Chocolatey?
Для пользователей, привыкших к командной строке, удобен Chocolatey.
- Установить Chocolatey (если не установлен): запустить PowerShell от администратора и выполнить:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')); - Установить PHP командой:
choco install php --version=8.2.16Chocolatey добавляет PHP в PATH и устанавливает необходимые зависимости.
- Проверить:
php -v
Если во время установки возникает ошибка 0x80070005, запустите PowerShell от имени администратора.
Как использовать portable версию PHP без прав администратора?
Portable версия – это просто распакованный архив, который можно запускать из любой папки. Не требует установки и прав администратора.
- Скачать zip-архив с windows.php.net/download/ (Non Thread Safe или Thread Safe).
- Распаковать в любую папку, например D:\tools\php.
- Запускать PHP через полный путь или добавить папку в PATH временно:
set PATH=%PATH%;D:\tools\php - Для удобства создать файл php.bat в корне диска, содержащий:
@echo off D:\tools\php\php.exe %*
Расширенные примеры работы с PHP на Windows 10
Включение и настройка расширений
В php.ini раскомментируйте следующие строки для активации часто используемых расширений:
extension=curl
extension=mbstring
extension=mysqli
extension=openssl
extension=pdo_mysql
После изменения сохраните файл и перезапустите веб-сервер (если используется Apache) или просто выполните php -m для проверки загруженных модулей.
[PHP Modules] calendar Core ctype curl date dom mbstring mysqli ...
Настройка встроенного веб-сервера PHP
PHP имеет собственный веб-сервер для разработки. Запустить его можно из командной строки:
php -S localhost:8000 -t C:\projects\myapp
Теперь приложение доступно по адресу http://localhost:8000. Сервер работает только в одном потоке, подходит только для локального тестирования.
Установка нескольких версий PHP
Для тестирования совместимости можно хранить несколько версий в разных папках:
- C:\PHP\7.4
- C:\PHP\8.0
- C:\PHP\8.2
Переключать версию удобно с помощью пакетного файла или скрипта PowerShell. Например, создать switch-php.ps1:
param([string]$version)
$paths = @{
'7.4' = 'C:\PHP\7.4'
'8.0' = 'C:\PHP\8.0'
'8.2' = 'C:\PHP\8.2'
}
$env:Path = ($paths[$version] + ';' + ($env:Path -split ';' | Where-Object { $_ -notmatch 'PHP' } -join ';'))
php -v
Запустить: powershell -ExecutionPolicy Bypass -File switch-php.ps1 -version 8.0
Использование PHP с IIS (FastCGI)
Если используется IIS, настройте обработчик FastCGI:
- Установите PHP Non Thread Safe версию.
- В IIS Manager выберите сервер -> Handler Mappings -> Add Module Mapping.
- Request Path: *.php
- Module: FastCgiModule
- Executable: C:\PHP\php-cgi.exe
- Name: PHP_via_FastCGI
- При необходимости установите php.ini с параметрами fastcgi.impersonate = 1 и cgi.fix_pathinfo = 1.
Пример скрипта для проверки конфигурации
Создать файл test.php:
<?php
phpinfo();
echo 'Extension curl: ' . (extension_loaded('curl') ? 'yes' : 'no') . "\n";
echo 'Extension mysqli: ' . (extension_loaded('mysqli') ? 'yes' : 'no') . "\n";
Выполнить через CLI:
php test.php
Результат:
phpinfo() PHP Version => 8.2.16 ... Extension curl: yes Extension mysqli: yes
Установка PHP через winget (альтернатива Chocolatey)
Windows 10 имеет встроенный менеджер пакетов winget. Установить PHP:
winget install --id PHP.PHP.8.2
После этого PHP будет добавлен в PATH. Проверка:
php -v
Если winget не распознаёт команду, обновите App Installer из Microsoft Store.