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
PHP использует FPM устанавливается как зависимость и используется как сервер FastCGI. Запустите службу FPM и включите ее автоматический запуск при загрузке:
sudo systemctl enable --now php-fpm
Настройка PHP для работы с Apache
Если вы используете 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
Заключение
PHP 7.2 доступен для установки из репозиториев CentOS 8 по умолчанию. Если вы хотите установить более свежую версию, вам нужно включить репозиторий Remi.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.