Установите PHP 7 на CentOS 7

CentOS 7 поставляется с версией PHP 5.4, которая уже давно официально является EOL и больше не поддерживается.

Используя PHP 7, ваши приложения будут загружаться быстрее и потреблять меньше системных ресурсов.

В этом руководстве мы объясним, как установить или обновить до PHP 7.0. 7.1, 7.2 и 7.3 в системе CentOS 7. Мы также покажем вам, как интегрировать PHP с Nginx и Apache.

Также перед установкой определенной версии PHP 7.x убедитесь, что она поддерживается вашим приложением.

Подготовка

Перед тем, как начать изучение этого руководства, убедитесь, что вы вошли на свой сервер с учетной записью пользователя с привилегиями sudo или с пользователем root. Рекомендуется запускать административные команды от имени пользователя sudo, а не root. Если в вашей системе нет пользователя sudo, вы можете создать его, следуя этим инструкциям .

Включение репозитория Remi

Пакеты PHP 7.x доступны в нескольких разных репозиториях. Мы будем использовать репозиторий Remi, который предоставляет более новые версии различных программных пакетов, включая PHP.

Репозиторий Remi зависит от репозитория EPEL . Выполните следующие команды, чтобы включить репозитории EPEL и Remi:

sudo yum install epel-release yum-utilssudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Yum может предложить вам импортировать GPG-ключ репозитория. Введите y и нажмите Enter .

В следующих разделах мы расскажем, как установить PHP 7.x, включив соответствующий репозиторий Remi. Если в вашей системе уже установлен PHP 5.4, yum обновит пакеты PHP.

Установка PHP 7.3 на CentOS 7

PHP 7.3 — это последняя стабильная версия PHP. Большинство современных фреймворков и приложений PHP, включая WordPress , Drupal, Joomla и Laravel, полностью поддерживают PHP 7.3.

Выполните следующие шаги, чтобы установить PHP 7.3 на CentOS 7.

  1. Начните с включения репозитория PHP 7.3 Remi:
    sudo yum-config-manager --enable remi-php73
  2. Установите PHP 7.3 и некоторые из наиболее распространенных модулей PHP:
    sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
  3. Проверьте установку PHP, введя следующую команду, которая распечатает версию PHP :
    php -v
    PHP 7.3.1 (cli) (built: Jan 8 2019 13:55:51) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.1, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.1, Copyright (c) 1999-2018, by Zend Technologies

Установка PHP 7.2 на CentOS 7

Используйте PHP 7.2, только если вы собираетесь устанавливать такие приложения, как Magento 2, которые несовместимы с PHP 7.2.

Следующие шаги описывают, как установить PHP 7.2 CentOS 7.

  1. Сначала включите репозиторий PHP 7.2 Remi, выполнив следующую команду:
    sudo yum-config-manager --enable remi-php72
  2. После включения репозитория установите PHP 7.2 и несколько наиболее распространенных модулей PHP:
    sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
  3. Проверьте установку PHP:
    php -v
    PHP 7.2.9 (cli) (built: Aug 15 2018 09:19:33) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.9, Copyright (c) 1999-2018, by Zend Technologies

Установка PHP 7.1 на CentOS 7

Следуйте инструкциям ниже, чтобы установить PHP 7.1.

  1. Включите репозиторий PHP 7.1, набрав:
    sudo yum-config-manager --enable remi-php71
  2. Установите PHP 7.1 и несколько наиболее распространенных модулей PHP:
    sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql
  3. Чтобы проверить установку, выполните следующую команду, которая распечатает версию PHP:
    php -v
    PHP 7.1.21 (cli) (built: Aug 15 2018 17:56:55) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.1.21, Copyright (c) 1999-2018, by Zend Technologies

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

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

sudo systemctl restart httpd

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

В отличие от Apache, Nginx не имеет встроенной поддержки обработки файлов PHP, поэтому нам нужно установить отдельное приложение, такое как PHP FPM, которое будет обрабатывать файлы PHP.

Чтобы установить пакет PHP FPM, выполните следующую команду:

sudo yum install php-fpm

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

/etc/php-fpm.d/www.conf
...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx

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

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

После внесения изменений включите и запустите службу PHP FPM:

sudo systemctl enable php-fpmsudo systemctl start 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 на свой сервер CentOS и как настроить веб-сервер для обработки файлов PHP.

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

Оставьте комментарий