
CentOS 7 поставляется с версией PHP 5.4, поддержка которой официально прекращена уже довольно давно, и она больше не поддерживается.
Используя 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.
-
Начните с включения репозитория PHP 7.3 Remi:
sudo yum-config-manager --enable remi-php73 -
Установите PHP 7.3 и некоторые наиболее распространенные модули PHP:
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd -
Проверьте установку PHP, введя следующую команду, которая выведет версию PHP :
php -vPHP 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.
-
Сначала включите репозиторий PHP 7.2 Remi, выполнив следующую команду:
sudo yum-config-manager --enable remi-php72 -
После включения репозитория установите PHP 7.2 и несколько наиболее распространенных модулей PHP:
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd -
Проверьте установку PHP:
php -vPHP 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, выполните следующие действия.
-
Включите репозиторий PHP 7.1, введя:
sudo yum-config-manager --enable remi-php71 -
Установите PHP 7.1 и несколько наиболее распространенных модулей PHP:
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql -
Чтобы проверить установку, выполните следующую команду, которая выведет версию PHP:
php -vPHP 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.
Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.
Эта публикация является частью серии «Установка стека LEMP в CentOS 7» .
Другие посты в этой серии:
Не используете CentOS 7?
Выберите другую ОС: центос 8 дебиан 10 дебиан 9 убунту 18.04 убунту 20.04
Связанные руководства
- Как установить phpMyAdmin с Nginx на CentOS 7
- Как установить и защитить phpMyAdmin с помощью Apache на CentOS 7
- Как установить и использовать PHP Composer на CentOS 7
- Как установить и использовать PHP Composer на CentOS 8
- Как установить PHP на CentOS 8
- Как установить и настроить Zabbix на CentOS 7
- Как установить текстовый редактор Atom на CentOS 7