PHP версии 8.4: руководство по установке в Windows

Раздел: Веб-администрирование -> Версии PHP

Установка PHP 8.4 на Windows: варианты и инструкции

В данной статье рассмотрены способы установки интерпретатора PHP версии 8.4 на операционную систему Windows. Каждый вариант имеет свои цели и случаи использования, от полного контроля до быстрого развертывания.

Как установить PHP 8.4 вручную из официального дистрибутива для полного контроля?

Основной способ установки PHP 8.4 на Windows – загрузка zip-архива с сайта windows.php.net и последующая ручная настройка. Этот подход обеспечивает максимальную гибкость и подходит для серверных сред, где требуется конкретная конфигурация.

Пошаговая инструкция:

  1. Перейти на страницу https://windows.php.net/downloads/releases/ и скачать архив php-8.4.x-nts-Win32-vs16-x64.zip (рекомендуется non-thread-safe для IIS, или thread-safe для Apache).
  2. Распаковать архив в папку, например C:\php\.
  3. Переименовать файл php.ini-development в php.ini и отредактировать его: раскомментировать нужные расширения (например, extension=curl, extension=mbstring), указать extension_dir = "ext".
  4. Добавить путь C:\php в переменную среды PATH (через Системные свойства > Переменные среды).
  5. Проверить установку: открыть командную строку и выполнить
    php -v

    Php 8 request (особенности обработки запросов в php 8)

    Ожидаемый вывод:
    PHP 8.4.x (cli) (built: ...) ( NTS )

    Php 8.4 windows (php 8.4 на windows)

  6. Для работы с веб-сервером Apache добавить строки в конфигурацию httpd.conf:
    LoadModule php_module "C:/php/php8apache2_4.dll"
    AddHandler application/x-httpd-php .php
    PHPIniDir "C:/php"

    Php 7 функции (новые функции php 7)

Типичные ошибки:

  • Ошибка "MSVCR120.dll не найден" – требуется установить Microsoft Visual C++ Redistributable for Visual Studio 2022 (скачать с Microsoft).
  • Расширения не загружаются – проверьте значение extension_dir в php.ini, укажите абсолютный путь или используйте относительный "ext".
  • Apache не запускается после добавления модуля – убедитесь, что модуль php8apache2_4.dll существует и версия Apache (2.4) совместима.

Как установить PHP 8.4 через менеджер пакетов Chocolatey для автоматизации?

Chocolatey – пакетный менеджер для Windows, позволяющий установить PHP одной командой. Подходит для быстрой настройки локальных окружений или CI/CD.

Инструкция:

  1. Установить 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 wordpress (обновление версии php для wordpress)

  2. Установить PHP 8.4:
    choco install php --version=8.4.0

    Php 8 json (php 8: изменения в работе с json)

    (точную версию уточнить на chocolatey.org).
  3. Проверить:
    php -v

    Php v 7 (php версия 7)

Цель использования: автоматизация установки и обновлений, удобство для разработчиков.

Типичные ошибки:

  • Установка требует прав администратора.
  • Версия может отсутствовать в репозитории, тогда указать --pre для предварительных сборок.

Как использовать WSL (Windows Subsystem for Linux) для работы с PHP 8.4 в среде Linux на Windows?

WSL позволяет запускать PHP в полноценном Linux-окружении, что удобно для совместимости с инструментами, написанными для Unix. Подходит для разработки и тестирования.

Инструкция:

  1. Установить WSL (команда от администратора в PowerShell):
    wsl --install

    Php 8 function (функции php 8)

  2. Запустить дистрибутив Ubuntu (по умолчанию) и выполнить:
    sudo apt update
    sudo apt install php8.4-cli php8.4-common php8.4-mysql php8.4-curl php8.4-mbstring php8.4-xml

    Php 5 server (php 5 сервер)

  3. Проверить:
    php -v

    язык php 5 (php 5)

Цель использования: использование Linux-специфичных расширений, привычная среда для разработчиков.

Типичные ошибки:

  • Сетевые приложения в WSL могут требовать дополнительной настройки портов.
  • Производительность файлового ввода-вывода ниже по сравнению с родной Windows.

Как запустить PHP 8.4 в Docker-контейнере на Windows для изолированной среды?

Docker Desktop позволяет создавать контейнеры с PHP, не загрязняя основную систему. Идеально для микросервисов и CI/CD.

Инструкция:

  1. Установить Docker Desktop с docker.com и включить использование WSL2 (рекомендуется).
  2. Создать файл Dockerfile в пустой папке:
    FROM php:8.4-cli
    COPY . /usr/src/myapp
    WORKDIR /usr/src/myapp
    CMD [ "php", "./index.php" ]

    язык php 4 (php 4)

  3. Собрать образ:
    docker build -t php84app .

    Php 7 3 (php версии 7.3)

  4. Запустить контейнер:
    docker run --rm -v ${PWD}:/usr/src/myapp php84app php index.php

Цель использования: изоляция приложений, легкость развертывания.

Типичные ошибки:

  • Ошибка "port is already allocated" при пробросе портов.
  • Различия в настройке сетевых путей между Windows и контейнером.

Как заменить PHP в XAMPP на версию 8.4 для быстрого старта с готовым веб-сервером?

XAMPP – популярная сборка Apache+MySQL+PHP. Для использования PHP 8.4 можно подменить компонент вручную. Подходит для локальной разработки без глубоких настроек.

Инструкция:

  1. Скачать PHP 8.4 zip (thread-safe, т.к. XAMPP использует Apache с модулем).
  2. Остановить Apache и MySQL через панель управления XAMPP.
  3. Переименовать существующую папку C:\xampp\php (например, в php_old).
  4. Распаковать новый PHP в C:\xampp\php.
  5. Скопировать из старой папки файлы libeay32.dll, ssleay32.dll (если нужны), а также php.ini (адаптированный под XAMPP).
  6. В php.ini проверить настройки extension_dir и пути.
  7. Запустить Apache и проверить через phpinfo().

Цель использования: быстрое получение готового окружения без ручной настройки Apache.

Типичные ошибки:

  • Ошибка "PHP Startup: Unable to load dynamic library" – несовместимость расширений, раскомментируйте только те, что есть в ext.
  • Apache не видит модуль – проверьте наличие php8apache2_4.dll.

Расширенная настройка php.ini для PHP 8.4

Пример конфигурации для веб-сервера с включением большинства расширений:

Пример
[PHP]
extension_dir = "ext"
extension=curl
extension=fileinfo
extension=gd
extension=mbstring
extension=mysqli
extension=openssl
extension=pdo_mysql
extension=soap
extension=xmlrpc
; и т.д.

Установка нескольких версий PHP и переключение между ними

Можно хранить несколько папок PHP и переключаться через PATH. Пример скрипта для выбора версии (на PowerShell):

Пример
$versions = @{
    "8.3" = "C:\php\8.3"
    "8.4" = "C:\php\8.4"
}
$selected = $args[0]
if ($versions.ContainsKey($selected)) {
    [Environment]::SetEnvironmentVariable("PATH", "$($versions[$selected]);$([Environment]::GetEnvironmentVariable('PATH', 'User'))", 'User')
    Write-Output "PHP version switched to $selected"
}

Результат: выполнив switch-php 8.4, изменится глобальная версия.

Пример docker-compose.yml для PHP 8.4 с Nginx и MySQL

Пример
version: '3.8'
services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./src:/usr/share/nginx/html
      - ./nginx.conf:/etc/nginx/conf.d/default.conf
  php:
    image: php:8.4-fpm
    volumes:
      - ./src:/var/www/html
  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: example

Настройка IIS для PHP 8.4 через FastCGI

Пример
# Команды PowerShell для установки и конфигурации IIS с PHP
Install-WindowsFeature -Name Web-Server, Web-CGI
# Скачать и распаковать PHP (non-thread-safe)
# Добавить обработчик:
New-WebHandler -Name "PHP-FastCGI" -Path "*.php" -Verb "*" -Modules FastCgiModule -ScriptProcessor "C:\php\php-cgi.exe" -ResourceType File
# Изменить пул приложений на No Managed Code
Set-ItemProperty IIS:\AppPools\DefaultAppPool -Name managedRuntimeVersion -Value ""

Пример скрипта PHP, использующего новые возможности 8.4 (например, property hooks)

Пример
class User {
    public function __construct(public string $name, public int $age) {}
    public readonly string $uppercaseName {
        get => strtoupper($this->name);
    }
}
$user = new User('Alice', 30);
echo $user->uppercaseName; // ALICE

Работа с Xdebug в PHP 8.4 на Windows

Пример
zend_extension = "C:\php\ext\php_xdebug-3.3.x-8.4-vs16-x86_64.dll"
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9003

Проверка установленных расширений

Пример
php -m
[PHP Modules]
ctype
curl
date
dom
...

PHP 8.4 на Windows - comments

En
Php 8.4 windows (php)