Введение
PHP — один из наиболее часто используемых серверных языков программирования. Многие популярные CMS и фреймворки, такие как WordPress, Magento и Laravel, интегрированы в PHP.
В этом руководстве мы увидим, как установить PHP 7.2, 7.3 или 7.4 на CentOS 8. Прежде чем выбрать версию PHP для установки, убедитесь, что ваши приложения поддерживают ее.
CentOS 8 распространяется с PHP 7.2. Эта версия поддерживает большинство современных приложений PHP, но с ноября 2019 года больше не будет активно поддерживаться. Последние версии PHP доступны в репозитории Remi.
Мы также покажем вам, как интегрировать PHP с Nginx и Apache.
Если вы хотите установить PHP на удаленный сервер, продолжайте читать, в противном случае, если вы хотите установить PHP на свой локальный компьютер, пропустите первый абзац «Подключение к серверу» и прочитайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать 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
Включить репозиторий 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
На выходе будет показан список всех доступных модулей, включая связанные потоки, версии и профили установки.
CentOS-8 - AppStream
Name Stream Profiles Summary
php 7.2 [d] 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 vi /etc/php-fpm.d/www.conf
Измените имя пользователя на строки пользователя и группы, с apache на nginx:
...
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 {
#Il resto del codice..
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.