Введение
PHP — один из наиболее часто используемых серверных языков программирования. Многие популярные CMS и фреймворки, такие как WordPress, Magento и Laravel, написаны на PHP.
PHP 8.0 — это последняя основная версия языка PHP. В нем представлено несколько существенных изменений, улучшена производительность и множество новых функций, таких как именованные аргументы, компилятор JIT, типы объединения, выражения сопоставления и многое другое.
Эта статья покажет вам, как установить PHP 8 на Ubuntu 20.04 LTS и интегрировать его с Nginx и Apache.
На момент написания этого руководства репозитории Ubuntu 20.04 LTS по умолчанию включали версию PHP 7.4. Мы будем устанавливать PHP из ondrej/php
PPA.
Перед обновлением или установкой PHP 8 убедитесь, что ваши приложения поддерживают его.
Если вы хотите установить PHP 8 на удаленный сервер, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVER
Далее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти в систему с другим именем пользователя, используя ту же команду, а затем изменить root на свое имя пользователя:
ssh nome_utente@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Включить репозиторий PHP
Ондржей Сури, разработчик Debian, поддерживает репозиторий, включающий несколько версий PHP. Чтобы добавить репозиторий, выполните следующую команду:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
После включения PPA вы можете установить PHP 8.
Установите PHP 8 с Apache
Если вы используете Apache в качестве веб-сервера, вы можете запустить PHP как модуль Apache или PHP-FPM.
Установите PHP как модуль Apache
Установить PHP как модуль Apache очень просто:
sudo apt update
sudo apt install php8.0-fpm libapache2-mod-fcgid
После установки пакетов перезапустите Apache, чтобы загрузить модуль PHP:
sudo systemctl restart apache2
Настройте Apache с помощью PHP-FPM
Php-FPM — это менеджер процессов FastCGI для PHP. Выполните следующую команду, чтобы установить необходимые пакеты:
sudo apt update
sudo apt install php8.0-fpm libapache2-mod-fcgid
По умолчанию PHP-FPM не включен в Apache. Чтобы включить его, запустите:
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.0-fpm
Чтобы активировать изменения, перезапустите Apache:
systemctl restart apache2
Установите PHP 8 с Nginx
Nginx не имеет встроенной поддержки обработки файлов PHP. Мы будем использовать PHP-FPM («менеджер процессов fastCGI») для управления файлами PHP.
Выполните следующие команды, чтобы установить пакеты PHP и PHP FPM:
sudo apt update
sudo apt install php8.0-fpm
После завершения установки служба FPM запустится автоматически. Чтобы проверить статус службы, запустите
systemctl status php8.0-fpm
● php8.0-fpm.service - The PHP 8.0 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php8.0-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-12-04 20:31:32 CET; 3h 23min ago
Docs: man:php-fpm8.0(8)
Process: 150630 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/8.0/fpm/pool.d/www.conf 80 (code=exited, status=0/SUCCESS)
Main PID: 150615 (php-fpm8.0)
Status: "Processes active: 0, idle: 2, Requests: 1, slow: 0, Traffic: 0req/sec"
Tasks: 3 (limit: 2286)
Memory: 7.9M
CGroup: /system.slice/php8.0-fpm.service
Теперь вы можете отредактировать блок сервера Nginx и добавить следующие строки, чтобы Nginx мог обрабатывать файлы PHP:
server {
#... other code
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
}
}
Не забудьте перезапустить службу Nginx, чтобы новая конфигурация вступила в силу:
sudo systemctl restart nginx
Установите расширения PHP
Расширения PHP — это скомпилированные библиотеки, которые расширяют основные функции PHP. Расширения доступны в виде пакетов и могут быть легко установлены с помощью apt
:
sudo apt install php8.0-[extname]
Например, чтобы установить расширения MySQL и GD, вы должны выполнить следующую команду:
sudo apt install php8.0-mysql php8.0-gd
После установки нового расширения PHP не забудьте перезапустить службу Apache или PHP FPM, в зависимости от вашей конфигурации.
Проверка обработки PHP
Чтобы проверить, правильно ли настроен веб-сервер для обработки PHP, создайте новый файл с именем info.php
внутри каталога /var/www/html
со следующим кодом:
Сохраните файл, откройте браузер и перейдите на сайт: http://dominio_oppure_ip/info.php
.
Вы увидите информацию о вашей конфигурации PHP, включая установленную версию.
Вывод
Установка PHP 8 на сервер Ubuntu 20.04 LTS — простая операция. Все, что вам нужно сделать, это включить репозиторий ondrej/php
и установить PHP 8 с помощью apt.