Отключить модуль php centos 7

Обновлено: 07.07.2024

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

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

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

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

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

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:

Установите PHP 7.3 и некоторые из наиболее распространенных модулей PHP:

Проверьте установку PHP, введя следующую команду, которая выведет версию PHP:

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

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

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

Сначала включите репозиторий PHP 7.2 Remi, выполнив следующую команду:

После того, как хранилище включено, установите PHP 7.2 и несколько наиболее распространенных модулей PHP:

Проверьте установку PHP:

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

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

Включите репозиторий PHP 7.1, набрав:

Установите PHP 7.1 и несколько наиболее распространенных модулей PHP:

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

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

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

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

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

Для установки пакета PHP FPM выполните следующую команду:

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

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

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

Затем отредактируйте директиву виртуального хоста Nginx и добавьте следующий блок местоположения, чтобы Nginx мог обрабатывать файлы PHP:

Чтобы новая конфигурация вступила в силу, перезапустите службу Nginx :

Вывод

Вы узнали, как установить PHP 7 на вашем сервере CentOS и как настроить веб-сервер для обработки файлов PHP.

Ниже мы рассмотрим установку модулей PHP на сервер с операционной системой CentOS.

Создание phpinfo-скрипта

В процессе установки модулей нам потребуется получать информацию о параметрах PHP на сервере, поэтому в первую очередь разместим скрипт phpinfo.php в директории сайта.

Для этого подключитесь к серверу по SSH и выполните следующие шаги:

1. Перейдите в директорию сайта:

2. Создайте файл phpinfo.php:

3. Добавьте в него следующее содержимое:

4. Сохраните изменения (нажмите Ctrl+x для выхода из nano, далее Y для сохранения изменений и Enter).

Установка модулей на примере imagick

Рассмотрим установку модулей php на примере модуля imagick.

1. Уточните имя пакета.

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

После определения точного имени модуля, можно перейти к установке.

2. Обновите информацию из репозиториев:

3. Установите библиотеку:

Установите пакет php-pear:

5. Выполните команду:

6. В процессе установки будет выведен запрос:

В ответ на запрос системы введите all и нажмите Enter.


Перейдите в указанную директорию:

Проверьте, есть ли в ней установленная библиотека:

Если библиотека присутствует, она будет выведена в консоли:


8. Выполните команду ниже, чтобы создать файл конфигурации imagick.ini и добавить в него директиву extension=imagick.so:

9. Перезапустите веб-сервер Apache:


Подключение внешних библиотек

Если вам требуется подключить библиотеку, скачанную не из репозитория, необходимо:


2. Перейти в директорию /etc/php.d:

3. Создать конфигурационный файл:

4. Указать в данном файле директиву и сохранить изменения:

5. Перезагрузить Apache:

Если файл библиотеки был размещен в другой директории, то на шаге 4 необходимо в директиве extension указать соответствующий путь, например:

Apache – это модульный веб-сервер (то есть, он позволяет настраивать функции путём включения и отключения модулей). Это предоставляет администраторам возможность максимально точно подгонять настройки веб-сервера под требования приложений.

Данное руководство поможет установить Apache на сервер CentOS 7 и настроить поддержку mod_rewrite.

Требования

  • Сервер CentOS 7.
  • Пользователь с доступом к sudo (подробности можно найти в руководстве Создание пользователя sudo в CentOS).

1: Установка Apache

Apache можно установить с помощью пакетного менеджера yum.

Команда запросит подтверждения:

Чтобы продолжить установку, введите Y и нажмите Enter.

Запустите демон Apache (это автономный процесс, который создаёт пул дочерних процессов или потоков для обработки запросов):

Чтобы убедиться в том, что запуск Apache прошёл успешно, введите:

Сервер Apache успешно установлен. Теперь нужно сосредоточить внимание на модулях.

2: Модуль mod_rewrite

Если в списке нет модуля rewrite_module, включите его вручную. Отредактируйте 00-base.conf.

Когда текстовый редактор откроется, перейдите в режим вставки (нажмите i) и добавьте в файл:

Чтобы выйти из режима вставки, нажмите Esc. Нажмите :x и Enter, чтобы сохранить и закрыть файл.

Обновите настройки веб-сервера:

Теперь можно приступать к созданию файла .htaccess.

3: Создание файла .htaccess

Файл .htaccess определяет индивидуальные директивы Apache (включая RewriteRule) для каждого отдельного домена.

Примечание: В Linux с символа точки начинаются имена скрытых файлов.

Сначала нужно включить поддержку файлов .htaccess. Дляэтого отредактируйте директиву AllowOverride:

Найдите в этом файле раздел <Directory /var/www/html>. Он содержит AllowOverride. Измените значение None на All.

Сохраните и закройте файл. Перезапустите Apache:

Создайте файл .htaccess в стандартном каталоге document root (/var/www/html):

sudo vi /var/www/html/.htaccess

Добавьте в начало файла следующую строку, чтобы активировать RewriteEngine. Так Apache сможет обрабатывать правила перезаписи.

Теперь на сервере есть файл .htaccess, который позволяет установить правила перезаписи URL-ов. Прежде чем приступить к написанию этих правил, нужно ознакомиться с синтаксисом mod_rewrite.

4: Синтаксис RewriteRule

Директива RewriteRule позволяет преобразовать запросы Apache на основе URL-адреса. Файл .htaccess может содержать множество правил перезаписи. Apache применяет правила в том порядке, в котором они определены в файле. RewriteRule имеет такую структуру:

RewriteRule Pattern Substitution [Flags]

Директива RewriteRule очень важна для mod_rewrite.

5: Синтаксис RewriteCond

Директива RewriteCond позволяет добавлять условия в правило перезаписи. Условие перезаписи состоит из следующих компонентов:

RewriteCond TestString Condition [Flags]

  • RewriteCond: директива.
  • TestString: строка, которую нужно проверить.
  • Condition: шаблон, которому должна отвечать строка.
  • [Flags]: опциональные параметры.

Благодаря директиве RewriteCond Apache пвыполняет перезапись только в том случае, если определённое условие истинно.

6: Создание тестового файла

Создайте простое правило, которое позволит пользователям получать доступ к странице about.html без расширения (.html). Для начала создайте файл about.html в каталоге document root:

sudo vi /var/www/html/about.html

Скопируйте следующий код HTML и вставьте в файл:

Сохраните и закройте файл.

Откройте браузер и перейдите по ссылке:

7: Настройка RewriteRule

Теперь попробуйте сделать так, чтобы посетители страницы About Us могли получить к ней доступ без расширения .html в ссылке. Для этого нужно создать правило.

sudo vi /var/www/html/.htaccess

Найдите строку RewriteEngine On и добавьте после неё следующую строку:

RewriteRule ^about$ about.html [NC]

Сохраните и закройте файл.

Теперь в ссылке на страницу About Us не будет расширения:

Рассмотрим это правило подробнее:

Общие шаблоны

Итак, теперь вы знаете основы написания правил перезаписи. Рассмотрим два дополнительных примера.

Примечание: Для тестирования можно создать пару дополнительных файлов.

Пример 1: Упрощение строки запросов с помощью RewriteRule

Приложения часто используют строки запросов. Эти строки находятся в URL-адресе, начиная с вопросительного знака (?) и заканчивая амперсандом (&). Обрабатывая правила перезаписи, Apache игнорирует эти два символа. К примеру, URL страницы результатов поиска, написанной на PHP, может выглядеть следующим образом:

Конечно, пользователям будет гораздо удобнее, если ссылка будет чистой:

Этого можно добиться двумя способами: с помощью простой замены или группирования параметров.

1: Простая замена

Создайте правило, выполняющее простую замену, чтобы ссылка стала чистой:

RewriteRule ^shoes/women$ results.php?item=shoes&type=women

Это правило вместо results.php?item=shoes&type=women будет использовать shoes/women.

2: Сопоставление и группирование

В некоторых ситуациях нужно оптимизировать строку запросов (к примеру, чтобы она включала несколько видов обуви). Для этого нужно:

  • Задать набор параметров, разделив их с помощью символа вертикальной черты | (логический оператор OR).
  • Сгруппировать все заданные параметры с помощью круглых скобок (), а затем сослаться на группу с помощью переменной $1 (где 1 – номер группы параметров).

В результате получится такое правило:

RewriteRule ^shoes/(men|women|youth) results.php?item=shoes&type=$1

Это правило добавляет в URL новый сегмент.

3: Совпадение наборов символов

Чтобы пользователь мог открыть чистый URL любого раздела сайта (не только /shoes), нужно:

  • Написать регулярное выражение, совпадающее со всеми алфавитно-цифровыми символами. В квадратных скобках указывается поисковой шаблон (в данном случае он включает все символы), а символ + указывет что каждый символ в шаблоне может повторяться неограниченное количество раз.
  • Сгруппировать этот набор символов и присвоить ему $2.

RewriteRule ^([A-Za-z0-9]+)/(men|women|youth) results.php?item=$1&type=$2

Это правило преобразует:

4: Дополнительная строка запроса

Это позволит вам устранить ряд потенциальных проблем. Попробуйте преобразовать:

RewriteRule ^([A-Za-z0-9]+)/(men|women|youth) results.php?item=$1&type=$2 [QSA]

Пример 2: Условия RewriteCond

Теперь рассмотрим подробнее директиву RewriteCond. Если условие перезаписи истинно, Apache обработает следующее за ним правило RewriteRule.

Ранее вы видели, что в случае если запрашиваемой страницы не существует, Apache возвращает страницу ошибки 404 Not Found. Однако вместо этого Apache может перенаправлять все подобные запросы на домашнюю страницу. Добавьте следующее условие, чтобы убедиться, что запрашиваемый файл существует:

RewriteCond % !-f
RewriteRule ^admin/(.*)$ /admin/home

Теперь все ссылки на несуществующие страницы будут перенаправлены на /admin/home.

Рассмотрим вышеприведённое правило по частям:

  • % проверяет запрашиваемую строку.
  • !-f: оператор ! (not) указывает, что если запрашиваемого файла не существует, веб-сервер должен выполнить следующее правило переадресации.
  • RewriteRule перенаправляет запрос на /admin/home.

Также можно задать ErrorDocument, на который будут отправляться все запросы на несуществующие страницы. Создайте правило ErrorDocument и перенаправьте все ошибки 404 на страницу error.html:

ErrorDocument 404 /error.html

Теперь все запросы, которые получили ошибку 404, будут переадресованы на error.html.

2: Ограничение доступа по IP

RewriteCond позволяет ограничивать доступ к сайту по IP-адресу.

К примеру, это правило заблокирует весь трафик, кроме 198.51.100.24:

RewriteCond % !^(198\.51\.100\.24)$
RewriteRule (.*) - [F,L]

Если сайт будет запрашиваться другими IP-адресами, трафик будет заблокирован.

Вкратце рассмотрим это правило:

Чтобы заблокировать доступ к сайту для определенного IP, используйте такое правило:

RewriteCond % ^(198\.51\.100\.24)$
RewriteRule (.*) - [F,L]

Существует множество способов управления доступом к сайту, и файл .htaccess – один из самых простых.

Заключение

Модуль mod_rewrite – один из основных компонентов Apache.

В данном руководстве вы научились создавать файл .htaccess и работать с директивами RewriteRule и RewriteCond.

PHP - сценарный язык программирования, применяемый для веб-разработки, интерпретирующийся на стороне сервера. PHP используется во множестве современных интернет-ресурсов, которыми вы пользуетесь каждый день.

Из нововведений PHP 7.4 можно выделить: типизированные свойства в классах, FFI для удобного написания расширений для языка, функции-стрелки для лаконичной записи однострочных функций. В этой статье вы узнаете как выполняется установка PHP CentOS 8 самой последней версии, на данный момент это 7.4.

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

Для начала нам надо установить два репозитория: EPEL и Remi.

1. Установка EPEL

Для установки EPEL на CentOS 8, выполните:

Устаовка EPEL


Чтобы удостовериться, что все прошло успешно и EPEL доступен, выполните:

rpm -qa | grep epel

Проверка установки EPEL

2. Установка Remi

Дальше устанавливаем Remi:

Установка Remi

Проверяем установку Remi:

rpm -qa | grep remi

Проверка установки Remi

3. Установка PHP

После удачного добавления EPEL и Remi, нужно выбрать источник, откуда мы будем устанавливать PHP. Для начала нам нужно получить список источников PHP:

dnf module list php

Просмотр списка модулей PHP

Из вывода видим, модуль remi-7.4 с последней доступной версией, его мы и будем подключать:

sudo dnf module enable php:remi-7.4

Подключение модуля php:remi-7.4

После подключения модуля php:remi-7.4 можно установить PHP CentOS 8 с помощью команды, которая приведена ниже, также эта команда установит еще некоторые пакеты, такие как php-fpm, аpache и nginx, а также другие зависимости php:

sudo dnf install php php-cli php-common

Установка php

Если в вашей системе уже есть установленная версия php, то она будет обновлена до версии 7.4. В редких случаях придется удалить конфликтующие зависимости. Чтобы узнать версию PHP Centos 8, выполните:

Из вывода команды мы можем увидеть, что у нас установлена версия PHP 7.4! Теперь вы можете тестировать и запускать свой проект на PHP.

Как удалить php в CentOS

Давайте ещё разберем как удалить php centos 8, установленный таким образом, для этого достаточно выполнить:

sudo dnf remove php php-cli php-common

Затем можно отключить ранее подключенный модуль php:remi:

sudo dnf module remove php:remi-7.4

Затем вы можете установить php centos из официальных репозиториев или подключить другой модуль. Надеюсь, у вас не возникло сложностей и это руководство оказалось для вас полезным.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Читайте также: