Установка и настройка PHP 7 на CentOS 7

Установка и настройка PHP 7 на CentOS 7

21 Декабря 2019 | CentOS

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

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

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

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

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

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


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


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

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

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, только если вы собираетесь устанавливать такие приложения, как 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.

  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

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


sudo systemctl restart httpd

В отличие от 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-fpm
sudo 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.


    Комментарии

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

Загрузка комментариев...