Установка PHP
Руководство по установке и настройке PHP для продакшена.
Установка PHP 8.4 на Ubuntu/Debian
Добавление репозитория Ondrej
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
Установка PHP и расширений
sudo apt install php8.4 php8.4-fpm php8.4-cli php8.4-common \
php8.4-mysql php8.4-zip php8.4-gd php8.4-mbstring \
php8.4-curl php8.4-xml php8.4-bcmath php8.4-json \
php8.4-intl php8.4-soap php8.4-opcache php8.4-redis \
php8.4-imagick php8.4-xdebug -y
Проверка установки
php -v
php-fpm8.4 -v
systemctl status php8.4-fpm
Установка на CentOS/RHEL
Добавление репозитория Remi
sudo dnf install epel-release -y
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm -y
sudo dnf module reset php -y
sudo dnf module enable php:remi-8.3 -y
Установка пакетов
sudo dnf install php php-fpm php-cli php-common \
php-mysqlnd php-zip php-gd php-mbstring \
php-curl php-xml php-bcmath php-json \
php-intl php-soap php-opcache php-redis \
php-imagick php-xdebug -y
Базовая настройка
Запуск и автозагрузка
sudo systemctl enable php8.4-fpm
sudo systemctl start php8.4-fpm
sudo systemctl status php8.4-fpm
Основные конфигурационные файлы
- PHP-FPM:
/etc/php/8.4/fpm/
- CLI:
/etc/php/8.4/cli/
- Пулы:
/etc/php/8.4/fpm/pool.d/
Создание пула для приложения
sudo cp /etc/php/8.4/fpm/pool.d/www.conf /etc/php/8.4/fpm/pool.d/myapp.conf
Редактируем /etc/php/8.4/fpm/pool.d/myapp.conf
:
[myapp]
user = www-data
group = www-data
listen = /run/php/php8.4-fpm-myapp.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
php_admin_value[disable_functions] = exec,passthru,shell_exec,system
php_admin_flag[allow_url_fopen] = off
Перезапуск сервиса
sudo systemctl restart php8.4-fpm
sudo systemctl reload nginx