ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить 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.

 

CentOS 8 распространяется с PHP 7.2. Эта версия поддерживает большинство современных приложений PHP, но больше не будет активно поддерживаться с ноября 2019 года. Более новые версии PHP доступны в репозитории 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:

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

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

sudo systemctl enable --now php-fpm

 

 

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

sudo systemctl restart httpd

 

По умолчанию 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.

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

Exit mobile version