- Требование к установке
- Включение репозитория PHP на Ubuntu
- Установка PHP 8.0 с Apache
- Установка PHP 8.1 с Apache
- Настройка Apache с помощью PHP-FPM
- Установка PHP 8.0 с помощью Nginx
- Установка PHP 8.1 с Nginx
- Настройка Nginx с помощью PHP-FPM
- Установка PHP 7.4 с Apache
- Установка PHP 7.4 с Nginx
- Как установить расширения PHP
- Переключение между версиями PHP
- Проверка версии PHP
- Заключение
PHP, сокращение от PHP hypertext preprocessor, является одним из серверных языков программирования. Он широко используется в веб-разработке для поддержки и запуска PHP-приложений на веб-сервере. Впервые он появился в 1995 году, но в настоящее время поддерживается компанией Zend technologies. Многие системы управления контентом (CMS), такие как WordPress и Lavaravel, написаны на PHP.
В этой статье мы покажем, как установить PHP на Ubuntu 22.04 и совместить его с Apache и Nginx.
Требование к установке
Чтобы начать работу, вот что вам нужно:
- Экземпляр Ubuntu 22.04 с доступом по SSH.
- Пользователь sudo, настроенный для выполнения задач пользователя root.
Включение репозитория PHP на Ubuntu
На момент написания этого руководства версия PHP, которая в настоящее время размещена или предоставляется репозиториями Ubuntu — PHP 8.1.
Чтобы установить PHP с помощью менеджера пакетов APT из репозитория Ubuntu по умолчанию, введите:
sudo apt install php
А для того чтобы воспользоваться преимуществами последних версий PHP. Требуется включить PPA-репозиторий Ondrej, который предоставляет последние версии PHP. Это PPA, который поддерживается Ondrej Sury, разработчиком Debian, который упаковывает PHP, начиная с PHP 5.
Чтобы выполнить это, для начала установите предварительные условия
sudo apt install software-properties-common -y
Далее включите Ondrej PPA, делается это с помощью следующей команды.
sudo add-apt-repository ppa:ondrej/php
Затем обновите индекс локальных пакетов, чтобы начать использовать только что добавленный репозиторий PHP.
sudo apt update
Установка PHP 8.0 с Apache
Установив PPA, вы можете установить желаемую версию PHP. Если в качестве веб-сервера у вас используется Apache, у вас есть возможность запустить PHP как модуль Apache PHP или PHP-FPM.
Чтобы установить PHP 8.0 на Ubuntu как модуль Apache, выполните следующие команды:
sudo apt update
sudo apt install php8.0 libapache2-mod-php8.0
После установки перезагрузите Apache, для того чтобы изменения вступили в силу:
sudo systemctl restart apache
Чтобы убедиться, что PHP 8.0 установлен, выполните следующую команду:
php -v
Установка PHP 8.1 с Apache
PHP 8.1 — это последняя версия PHP на данный момент. Так как она поставляется по умолчанию в репозитории, вы просто устанавливаете PHP и PHP-модуль Apache следующим образом:
sudo apt update
sudo apt install php libapache2-mod-php
Теперь снова перезапустите Apache, чтобы перезагрузить модуль PHP. Сделать это можно командой:
sudo systemctl restart apache
Чтобы убедиться, что PHP 8.1 установлен, выполните следующую команду:
php -v
Настройка Apache с помощью PHP-FPM
PHP-FPM (FastCGI Process Manager) — это инструмент для ускорения работы веб-сервера и является лучшей альтернативой PHP.
По умолчанию PHP-FPM не включен в Apache, и нам требуется сделать еще один шаг чтобы включить его. Но сначала выполните следующие команды.
sudo apt update
sudo apt install php8.0-fpm libapache2-mod-fcgid
Чтобы включить PHP-FPM, выполните:
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.0-fpm
Чтобы изменения вступили в силу, перезапустите веб-сервер Apache.
systemctl restart apache2
Установка PHP 8.0 с помощью Nginx
Веб-сервер Nginx по умолчанию не имеет встроенной поддержки для обработки файлов PHP. Поэтому для обработки php-файлов будет использоваться PHP-FPM.
Чтобы это стало возможным, выполните следующие команды для установки PHP и PHP-FPM
sudo apt update
sudo apt install php8.0-fpm
После установки PHP-FPM должен запуститься автоматически без какого-либо вмешательства. Чтобы убедиться, что PHP-FPM запущен, выполните следующую команду.
sudo systemctl status php8.0-fpm
Статус active (Активный) будет означать, что служба запущена и работает.
Установка PHP 8.1 с Nginx
Аналогичным образом вы можете установить PHP 8.1 с FPM для Nginx на Ubuntu следующим образом:
sudo apt update
sudo apt install php-fpm
После установки подтвердите статус службы php fpm с помощью следующей команды.
sudo systemctl status php8.1-fpm
Настройка Nginx с помощью PHP-FPM
Nginx не имеет возможности обрабатывать php-скрипты и приложения. Поэтому требуется настроить Nginx для работы с PHP-FPM.
В блоке вашего сервера Nginx добавьте следующие строки, чтобы позволить Nginx обрабатывать php-файлы.
server { # . . . остальная часть кода location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.0-fpm.sock; }
}
Чтобы применить изменения, перезапустите Nginx.
sudo systemctl restart nginx
Установка PHP 7.4 с Apache
Для установки PHP 7.4 используйте PPA, упомянутый ранее. Затем вы можете установить эту версию с помощью менеджера пакетов APT.
sudo apt update
sudo apt install php7.4 libapache2-mod-php
Это установит php вместе с дополнительными модулями php.
Установка PHP 7.4 с Nginx
Если вы используете Nginx, PHP-FPM необходим для обработки файлов php. Поэтому установите PHP-FPM на Ubuntu с помощью следующей команды.
sudo apt update
sudo apt install php7.4-fpm
После установки PHP-FPM следующим шагом будет настройка Nginx для работы с PHP-FPM.
В конфигурации вашего виртуального хоста добавьте следующий код
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
}
Чтобы применить изменения, перезапустите веб-сервер
sudo systemctl restart nginx
Как установить расширения PHP
Расширения PHP — это плагины или специальные библиотеки, которые расширяют функциональность PHP. Расширения можно легко установить, используя синтаксис.
sudo apt install php-[имя расширения].
Например, чтобы установить расширения php-dg, php-zip, php-mbstring, php-opcache, php-pear и php-mysqli, выполните команду:
sudo apt install php-{gd,zip,mbstring,opcache,pear,mysqli}.
Не забудьте перезапустить веб-сервер Apache с PHP-FPM после установки расширений PHP.
Переключение между версиями PHP
Предположим, что вы установили разные версии PHP. Как переключиться с одной версии на другую?
Во-первых, вы можете посмотреть на несколько версий PHP, установленных в вашей системе. Для этого выполните следующую команду:
sudo update-alternatives --config php
Вот вывод, который вы получите.
Чтобы перейти с PHP 7.4 на PHP 8.1, выполните следующие команды:
sudo a2dismod php7.4
sudo a2enmod php8.1
Приведенные выше команды просто отключают PHP 7.4 и включают PHP 8.0 на ubuntu. Вы можете перейти с одной версии на другую, просто поменяв местами версии. Чтобы применить сделанные изменения, перезапустите веб-сервер Apache.
sudo systemctl apache2 restart
Проверка версии PHP
Чтобы проверить версию PHP, установленную по умолчанию, выполните команду
php -v
Вы должны получить результат, аналогичный приведенному здесь:
PHP 8.1.2 (cli) (built: Apr 7 2022 17:46:26) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies.
Еще один способ проверить, работает ли PHP — это создать файл info.php в корне документа. Файл info.php — это файл, в котором содержится информация об установленной по умолчанию версии PHP и другие сведения о модулях php.
Итак, создайте файл в каталоге /var/www/html следующим образом.
sudo vim /var/www/html/info.php
Затем добавьте следующий код
<?php
phpinfo();
?>
Сохраните файл. Теперь откройте браузер и перейдите по URL
http://server-ip/info.php
Оба этих способа показывают, что PHP установлен.
Заключение
В этом руководстве мы показали различные варианты как установить PHP и как выполнить установку необходимых модулей PHP на Ubuntu 22.04. PHP 8.1 — это версия по умолчанию, предоставляемая официальными репозиториями Ubuntu. Чтобы установить последние версии PHP, вам необходимо включить Ondrej PPA в вашей системе Linux.
не правильно указана установка php7.4-fpm на ubuntu 22.04