Как установить PHP на CentOS 8

Установить PHP на CentOS 8

PHP — один из самых используемых серверных языков программирования. Многие популярные CMS и фреймворки, такие как WordPress, Magento и Laravel, написаны на PHP.

В этом руководстве мы обсудим, как установить PHP 7.2, 7.3 или 7.4 на CentOS 8. Прежде чем выбрать версию PHP для установки, убедитесь, что ваши приложения ее поддерживают.

Мы также покажем вам, как интегрировать PHP с Nginx и Apache.

Установка PHP на CentOS 8

CentOS 8 распространяется с PHP 7.2. Эта версия поддерживает большинство современных PHP-приложений, но с ноября 2019 года её активная поддержка будет прекращена. Новые версии PHP доступны в репозитории Remi .

Включить репозиторий Remi

Если вы собираетесь установить стабильную версию PHP 7.2, пропустите этот шаг. В противном случае, если вы хотите установить PHP 7.3 или 7.4, включите репозиторий Remi, выполнив следующую команду от имени пользователя root или пользователя с правами sudo :

 sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Приведенная выше команда также включит репозиторий EPEL .

После завершения установки выполните команду ниже, чтобы получить список всех доступных версий PHP :

 sudo dnf module list php

На выходе будет представлен список всех доступных модулей, включая связанный с ними поток, версию и профили установки.

 Last metadata expiration check: 0:02:11 ago on Fri 18 Oct 2019 08:31:43 PM UTC. CentOS-8 - AppStream Name Stream Profiles Summary php 7.2 [d][e] common [d], devel, minimal PHP scripting language Remi's Modular repository for Enterprise Linux 8 - x86_64 Name Stream Profiles Summary php remi-7.2 common [d], devel, minimal PHP scripting language php remi-7.3 common [d], devel, minimal PHP scripting language php remi-7.4 common [d], devel, minimal PHP scripting language Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Модуль PHP по умолчанию — PHP 7.2. Чтобы установить более новую версию PHP, включите соответствующую версию:

PHP 7.3

 sudo dnf module reset php sudo dnf module enable php:remi-7.3

PHP 7.4

 sudo dnf module reset php sudo dnf module enable php:remi-7.4

Теперь вы готовы установить PHP на свой сервер CentOS.

Установить PHP

Следующая команда установит PHP и некоторые наиболее распространённые модули PHP:

 sudo dnf install php php-opcache php-gd php-curl php-mysqlnd

FPM устанавливается как зависимость и используется как FastCGI-сервер. Запустите службу FPM и включите её автоматический запуск при загрузке системы:

 sudo systemctl enable --now php-fpm

Настройка PHP для работы с Apache

Если в вашей системе запущен SELinux , вам необходимо обновить контекст безопасности SELinux:

 sudo chcon -Rt httpd_sys_rw_content_t /var/www

Если вы используете Apache в качестве веб-сервера, перезапустите службу httpd с помощью следующей команды, и все готово:

 sudo systemctl restart httpd

Настройка PHP для работы с Nginx

По умолчанию PHP FPM работает от имени пользователя apache . Чтобы избежать проблем с правами доступа, мы изменим пользователя на nginx . Для этого отредактируйте строки, выделенные жёлтым:

 sudo nano /etc/php-fpm.d/www.conf

/etc/php-fpm.d/www.conf

 ... user = nginx ... group = nginx

Убедитесь, что каталог /var/lib/php имеет правильного владельца :

 chown -R root:nginx /var/lib/php

После этого перезапустите службу PHP FPM:

 sudo systemctl restart php-fpm

Затем отредактируйте директиву виртуального хоста Nginx и добавьте следующий блок расположения, чтобы Nginx мог обрабатывать файлы PHP:

 server { # . . . other code location ~ .php$ { try_files $uri = 404 ; fastcgi_pass unix:/run/php-fpm/www.sock ; fastcgi_index index.php ; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ; include fastcgi_params ; } }

Чтобы новая конфигурация вступила в силу, перезапустите службу Nginx :

 sudo systemctl restart nginx

Обновите контекст безопасности SELinux:

 sudo chcon -Rt httpd_sys_rw_content_t /var/www

Заключение

PHP 7.2 доступен для установки из стандартных репозиториев CentOS 8. Для установки более новой версии необходимо включить репозиторий Remi.

Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.

php centos

Эта публикация является частью серии «Установка LAMP Stack на CentOS 8» .
Другие посты в этой серии:

Не используете CentOS 8?
Выберите другую ОС:
центос 7 дебиан 10 дебиан 9 убунту 18.04 убунту 20.04

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *