PHP 8.4.4: методы установки и конфигурации
Основные способы установки PHP 8.4.4
Как установить PHP 8.4.4 на Ubuntu через официальный PPA?
Наиболее эффективный способ для систем на базе Debian/Ubuntu - подключение PPA от Ondřej Surý. Он предоставляет актуальные версии PHP и множество модулей.
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.4После установки проверяется версия командой php -v. Для добавления модулей используется sudo apt install php8.4-{module}, например php8.4-mysql php8.4-xml php8.4-intl.
Типичная ошибка
E: Unable to locate package php8.4 - не подключён PPA или не выполнен apt update. Также требуется Ubuntu 20.04 или новее.
Как установить PHP 8.4.4 на CentOS/RHEL с помощью репозитория Remi?
Для CentOS 8/9 или RHEL 8/9 используется репозиторий Remi. Предварительно включается EPEL.
sudo dnf install epel-release
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo dnf module reset php
sudo dnf module install php:remi-8.4
sudo dnf install phpЧастая проблема
Ошибка Failed to download metadata for repo 'remi' - проверяется подключение к интернету и корректность URL. Иногда требуется установить dnf-utils.
Как собрать PHP 8.4.4 из исходного кода?
Этот вариант подходит для нестандартной конфигурации или окружений без пакетного менеджера. Загружается архив с официального сайта.
wget https://www.php.net/distributions/php-8.4.4.tar.gz
tar xzf php-8.4.4.tar.gz
cd php-8.4.4
./configure --prefix=/usr/local/php8.4 \
--with-config-file-path=/usr/local/php8.4/etc \
--enable-mbstring --enable-intl --with-openssl --with-mysqli
make -j$(nproc)
sudo make installПосле сборки копируется php.ini: sudo cp php.ini-production /usr/local/php8.4/etc/php.ini.
Возможные ошибки
Отсутствие зависимостей, например configure: error: xml2-config not found - устанавливается libxml2-dev (Ubuntu) или libxml2-devel (CentOS).
Как использовать Docker для изолированной установки PHP 8.4.4?
Самый быстрый способ без модификации системы. Используется официальный образ.
docker pull php:8.4.4-cli
docker run --rm -v "$PWD":/app -w /app php:8.4.4-cli php script.phpПроблема
Отсутствие модулей - добавляется собственный Dockerfile:
FROM php:8.4.4-cli
RUN docker-php-ext-install pdo_mysql intlСборка образа: docker build -t myphp ..
Расширенные примеры установки и настройки PHP 8.4.4
Как установить PHP 8.4.4 с FPM и набором модулей для веб-сервера?
sudo apt install php8.4-fpm php8.4-mysql php8.4-curl php8.4-gd php8.4-xml php8.4-mbstringПосле установки запускается служба: sudo systemctl start php8.4-fpm. Конфигурация пула находится в /etc/php/8.4/fpm/pool.d/www.conf. Проверка версии и модулей:
PHP 8.4.4 (cli) (built: Mar 20 2025 12:00:00) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.4.4, Copyright (c) Zend Technologies
with Zend OPcache v8.4.4, Copyright (c), by Zend TechnologiesКак включить JIT в PHP 8.4.4 для производительности?
В php.ini добавляются параметры:
opcache.enable=1
opcache.jit=1255
opcache.jit_buffer_size=100MПроверка работы JIT:
php -i | grep JITJIT Support => Enabled JIT Buffer Size => 100 MB
Как настроить php.ini для production окружения?
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 30
display_errors = Off
log_errors = OnКак проверить конфигурацию с помощью phpinfo?
Создаётся файл info.php:
<?php
phpinfo();
?>Запуск встроенного сервера:
php -S localhost:8000 info.phpВ браузере отображается полная информация о PHP, модулях и настройках.
Как собрать PHP 8.4.4 с дополнительными опциями (например, с поддержкой SQLite и GD)?
При configure добавляются флаги:
./configure --prefix=/usr/local/php8.4 \
--with-config-file-path=/usr/local/php8.4/etc \
--enable-mbstring --enable-intl \
--with-openssl --with-mysqli \
--with-pdo-mysql --with-pdo-sqlite \
--with-gd --with-freetype-dir --with-jpeg-dir \
--enable-gd-native-ttf \
--enable-bcmath --enable-zipЗависимости перед сборкой (Ubuntu):
sudo apt install build-essential libxml2-dev libssl-dev libsqlite3-dev libgd-dev libfreetype6-dev libjpeg-dev libpng-dev libzip-dev