Centos 7 удалить php 7
Обновлено: 25.11.2024
Веб-сервер Apache использует виртуальные хосты для управления несколькими доменами в одном экземпляре. Точно так же PHP-FPM использует демон для управления несколькими версиями PHP в одном экземпляре. Вместе вы можете использовать Apache и PHP-FPM для размещения нескольких веб-приложений PHP, каждое из которых использует свою версию PHP, все на одном сервере и все в одно и то же время. Это полезно, потому что для разных приложений могут потребоваться разные версии PHP, но некоторые серверные стеки, такие как регулярно настраиваемый стек LAMP, могут управлять только одной. Сочетание Apache с PHP-FPM также является более экономичным решением, чем размещение каждого приложения в отдельном экземпляре.
PHP-FPM также предлагает параметры конфигурации для ведения журнала stderr и stdout, аварийного перезапуска и адаптивного создания процессов, что полезно для сильно загруженных сайтов. На самом деле использование Apache с PHP-FPM — один из лучших стеков для размещения PHP-приложений, особенно когда речь идет о производительности.
В этом руководстве вы настроите два сайта PHP на одном экземпляре. Каждый сайт будет использовать свой собственный домен, и на каждом домене будет развернута собственная версия PHP. Первый, site1.your_domain, будет развертывать PHP 7.0. Второй, site2.your_domain , развернет PHP 7.2.
Предпосылки
- Один сервер CentOS 7 с не менее 1 ГБ ОЗУ, настроенный в соответствии с начальной настройкой сервера с CentOS 7, включая пользователя без полномочий root и брандмауэр.
- Веб-сервер Apache установлен и настроен в соответствии с инструкциями по установке веб-сервера Apache в CentOS 7.
- Доменное имя, настроенное так, чтобы оно указывало на ваш сервер CentOS 7. Вы можете узнать, как указывать домены на дроплеты DigitalOcean, следуя статье «Как указать на серверы имен DigitalOcean от общих регистраторов доменов». Для целей этого руководства мы будем использовать два поддомена, каждый из которых указан с помощью записи A в наших настройках DNS: site1.your_domain и site2.your_domain .
Шаг 1 — Установка версий PHP 7.0 и 7.2 с помощью PHP-FPM
После выполнения предварительных требований вы сможете установить PHP версии 7.0 и 7.2. Репозиторий SCL (Software Collections) поддерживает многочисленные версии стека PHP для системы CentOS 7. Если вам требуется самая новая версия PHP, а она недоступна в SCL, вместо этого проверьте remi PPA (личный архив пакетов).
Начните с установки репозитория SCL в вашей системе:
Сначала давайте выясним, какие версии PHP 7 доступны в SCL:
Вы увидите такой вывод:
Обратите внимание, что доступна также самая новая версия PHP 7.3. Однако для наших примеров мы установим версии 7.0 и 7.2.
Начнем со старой версии. Установите rh-php70 и rh-php70-php-fpm :
- rh-php70 — это метапакет, запускающий приложения PHP.
- rh-php70-php-fpm предоставляет интерпретатор Fast Process Manager, который работает как демон и получает запросы Fast/CGI.
Теперь повторите процесс для PHP версии 7.2. Установите rh-php72 и rh-php72-php-fpm .
Затем выполните следующие команды, чтобы начать использовать обе коллекции программного обеспечения:
По умолчанию обе версии PHP прослушивают порт 9000 . Но в этом уроке мы хотим запустить две версии одновременно. Поэтому назначим два новых порта:
Теперь вы назначили выделенный порт для каждой из ваших служб PHP. Однако прежде чем эти изменения заработают, вы должны добавить порты в свою конфигурацию SELinux.
Теперь вы готовы запустить и активировать службы PHP. Начните с службы rh-php70-php-fpm и включите ее запуск при загрузке:
Затем проверьте статус службы rh-php70-php-fpm:
Вы увидите такой вывод:
Повторяя этот процесс, запустите службу rh-php72-php-fpm и включите ее запуск при загрузке:
Затем проверьте статус службы rh-php72-php-fpm:
Вы увидите другой вывод, подобный этому:
На данный момент вы установили на свой сервер две версии PHP. Далее вы создадите структуру каталогов для каждого веб-сайта, который хотите развернуть.
Шаг 2 — Создание структур каталогов для обоих веб-сайтов
В этом разделе вы создадите корневой каталог документов и индексную страницу для каждого из двух ваших веб-сайтов.
Сначала создайте корневые каталоги документов для site1.your_domain и site2.your_domain :
По умолчанию веб-сервер Apache работает как пользователь Apache и группа Apache. Таким образом, /var/www/ и все его файлы и подкаталоги также должны принадлежать им. Выполните следующие команды, чтобы проверить правильность прав собственности и прав доступа к корневым каталогам вашего веб-сайта:
Команда chown изменяет владельца двух каталогов вашего веб-сайта на пользователя apache и группу apache. Команда chmod изменяет разрешения, связанные с этим пользователем и группой, а также с другими.
Далее вы создадите файл info.php в корневом каталоге каждого веб-сайта.Это отобразит информацию о версии PHP каждого веб-сайта. Начните с site1 :
Добавьте следующую строку:
Сохраните и закройте файл. Теперь скопируйте созданный файл info.php на site2 :
Теперь на вашем веб-сервере есть корневые каталоги документов, необходимые каждому сайту для предоставления данных посетителям. Далее вы настроите веб-сервер Apache для работы с двумя разными версиями PHP.
Шаг 3 — Настройка Apache для обоих веб-сайтов
В этом разделе вы создадите два файла конфигурации виртуального хоста. Это позволит вашим двум веб-сайтам работать одновременно с двумя разными версиями PHP.
Сначала создайте новый файл конфигурации виртуального хоста для веб-сайта site1.your_domain . Здесь вы укажете Apache отображать содержимое с использованием PHP 7.0:
Добавьте следующее содержимое. Убедитесь, что путь к каталогу веб-сайта, имя сервера, порт и версия PHP соответствуют вашим настройкам:
Для DocumentRoot вы указываете путь к корневому каталогу вашего веб-сайта. Для ServerAdmin вы добавляете адрес электронной почты, к которому может получить доступ администратор сайта your_domain. Для ServerName вы добавляете URL-адрес своего первого субдомена. Для SetHandler вы указываете порт 9002. Остальные директивы также настраивают вашу службу для развертывания PHP 7.0.
Сохраните и закройте файл.
Далее создайте новый файл конфигурации виртуального хоста для веб-сайта site2.your_domain . Вы укажете этот субдомен для развертывания PHP 7.2:
Добавьте следующее содержимое. Опять же, убедитесь, что путь к каталогу веб-сайта, имя сервера, порт и версия PHP соответствуют вашей уникальной информации:
Сохраните и закройте файл, когда закончите. Затем проверьте файл конфигурации Apache на наличие синтаксических ошибок:
Вы увидите вывод, печатающий Syntax OK :
Наконец, перезапустите службу Apache, чтобы изменения вступили в силу:
Теперь, когда вы настроили Apache для обслуживания каждого сайта, вы должны протестировать их, чтобы убедиться, что работают правильные версии PHP.
Шаг 4. Проверка обоих веб-сайтов
К этому моменту вы настроили два веб-сайта для запуска двух разных версий PHP. Теперь проверьте результаты.
Обратите внимание на названия. На первой странице указано, что на сайте site1.your_domain развернута версия PHP 7.0. Второй указывает, что на сайте site2.your_domain развернута версия PHP 7.2.
Теперь, когда вы протестировали свои сайты, удалите файлы info.php. Поскольку они содержат конфиденциальную информацию о вашем сервере и доступны неавторизованным пользователям, они представляют собой уязвимость системы безопасности. Удалите файлы:
Теперь у вас есть один сервер CentOS 7, обслуживающий два веб-сайта с двумя разными версиями PHP. Однако PHP-FPM не ограничивается одним этим приложением.
Заключение
Теперь вы объединили виртуальные хосты и PHP-FPM для обслуживания нескольких веб-сайтов и нескольких версий PHP на одном сервере. Единственным практическим ограничением на количество сайтов PHP и версий PHP, которые может обрабатывать ваш сервис Apache, является вычислительная мощность вашего экземпляра.
Здесь вы можете рассмотреть возможность изучения более продвинутых функций PHP-FPM, таких как его адаптивный процесс создания или то, как он может регистрировать sdtout и stderr. Кроме того, теперь вы можете защитить свои веб-сайты. Для этого вы можете следовать нашему руководству о том, как защитить свои сайты с помощью бесплатных сертификатов TLS/SSL от Let’s Encrypt.
Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!
Присоединяйтесь к нашему сообществу DigitalOcean, насчитывающему более миллиона разработчиков, бесплатно! Получайте помощь и делитесь знаниями в нашем разделе "Вопросы и ответы", находите руководства и инструменты, которые помогут вам расти как разработчику и масштабировать свой проект или бизнес, а также подписывайтесь на интересующие вас темы.
В этой статье я проведу вас через 7 простых шагов по установке PHP на RHEL 8/CentOS 8. PHP известен как язык программирования на стороне сервера с открытым исходным кодом из-за его широкомасштабного использования на стороне веб-сервера. Он поддерживается богатым набором библиотек, разработанных и созданных большим сообществом разработчиков PHP по всему миру. Он работает на различных платформах, таких как Windows, Linux, Unix, и помогает предоставлять экономически эффективные решения. Многие крупные организации, такие как facebook, twitter, wikipedia, dailymotion и т. д., используют PHP-фреймворк. Это помогает удовлетворить потребности меняющихся требований на стороне сервера. Здесь мы рассмотрим подробные шаги, необходимые для установки PHP на RHEL 8/CentOS 8.
Шаги по установке PHP на RHEL 8/CentOS 8
Шаг 1. Предварительные условия
a) У вас должна быть работающая система RHEL 8/CentOS 8.
b) На вашем сервере должен быть установлен инструмент dnf. Вы можете просмотреть 31 полезный пример команды DNF для управления пакетами RPM в Fedora/RHEL/CentOS, чтобы узнать больше о команде dnf.
c) У вас должен быть доступ root или sudo для запуска привилегированных команд. Пожалуйста, ознакомьтесь с разделом «Как добавить пользователя в Sudoers», чтобы узнать больше о предоставлении пользователю доступа к sudo.
Шаг 2. Обновите сервер
Прежде чем выполнять шаги по установке PHP на RHEL 8/CentOS 8, рекомендуется сначала обновить сервер с помощью команды dnf update -y, как показано ниже. Подробнее об официальной документации PHP.
Шаг 3. Добавьте репозиторий EPEL и REMI
Шаг 4. Установите PHP 7.4 на RHEL 8/CentOS 8
Теперь, чтобы установить PHP на сервер RHEL/CentOS 8, вам нужно использовать команду dnf module install php:remi-7.4 -y, как показано ниже. Эта команда проверит зависимости, загрузит и установит PHP на серверах на базе RHEL.
Обратите внимание, что при выполнении вышеприведенной команды dnf, если вы видите ошибку «Операция приведет к переключению модуля «php» потока «7.2» на поток «remi-7.4»», вам необходимо сначала сбросить модуль PHP с помощью с помощью команды dnf module reset php, а затем установите его снова с помощью команды dnf module install php:remi-7.4.
Шаг 5. Проверьте версию PHP
После успешной установки PHP на ваш сервер вы можете проверить версию PHP с помощью команды php -v, как показано ниже. Как показано в выводе ниже, текущая версия php — 7.4.11.
Шаг 6. Напишите простой PHP-скрипт
После выполнения шагов по установке PHP на сервер RHEL 8/CentOS 8 пришло время протестировать установку, написав простой PHP-скрипт. Здесь мы используем простую функцию phpinfo() для отображения всей информации о PHP, как вы можете видеть ниже.
Запустите свой PHP-скрипт
Шаг 7. Удалите PHP 7.4 из RHEL 8/CentOS 8
Если вы хотите удалить PHP 7.4 со своего сервера, вам нужно использовать команду dnf module remove php:remi-7.4, как показано ниже.
yum install php72u-cli php72u-common php72u-fpm php72u-gd php72u-imap php72u-mbstring php72u-mysqlnd php72u-pdo php72u-процесс php72u-xml php72u-xmlrpc php72u-opcache php72u-json php72u-zip phpll2u-pspell php72u-pecl-apcu php72u-pecl-memcached php72u-ioncube-загрузчик
И я получил следующий результат:
Что мне делать и как удалить PHP 7.0 и установить 7.2/7.3? Спасибо за ваше время и извините за вопросы новичка
PHP 7.2 можно установить с помощью команды "yum install rh-php72". Это, конечно, устанавливает только ядро, поэтому вам, вероятно, потребуется установить несколько модулей для поддержки вашей установки, например «rh-php72-php-mysqlnd» (для поддержки MySQL). Вы можете получить список доступных модулей, выполнив команду "yum info rh-php72*"
Я заметил, что в «Коллекциях программного обеспечения» для CentOS нет последней версии 7.3, поэтому я думаю, что проблема в этом, но есть ли план Б?
Юджин ван дер Мерве
Да, к сожалению, у нас нет других репозиториев, которые мы рекомендуем для CentOS. пока репозиторий SCL не предложит PHP 7.3, мы рекомендуем придерживаться PHP 7.2.
Если PHP 7.3 важен для вашей установки, я бы рекомендовал использовать дистрибутив, который предлагает версии PHP, которые вам нужны (в данном случае, возможно, Ubuntu).
Извините, я хотел бы найти решение получше! А пока мы просто надеемся, что репозиторий SCL скоро получит PHP 7.3 :-)
Я искал способ отправить вам личное сообщение, извините, я не могу найти способ, поэтому я захватываю эту ветку. Прежде всего, большое спасибо за ваш ответ. Я твердо верю в Virtualmin как в будущее панелей, поскольку это «стандартная» система, которая просто «работает». Свободен от большей части проприетарной чепухи. Я написал около 50 коротких статей HOWTO для Virtualmin для веб-сайта нашей компании.
Но почему я связываюсь с вами, так это то, что Virtualmin нужно немного обновить, и сейчас самое время, потому что есть огромные возможности.
Как вы, возможно, слышали, из-за того, что cPanel подняла цены, возникает много драмы. Люди требуют новых панелей. На мой взгляд, приложив определенные усилия, Virtualmin может привлечь целую новую группу пользователей, которые, надеюсь, в конечном итоге также станут пользователями Virtualmin Pro.
Вы должны сделать две важные вещи:
- Обновите этот форум. Это слишком старый человек. Кроме того, он не так привлекателен по сравнению с современными стилями веб-сайтов.
- Придайте документам новый внешний вид.
- Посмотрите, сможете ли вы возродить проект Cloudlinux. Кажется, что-то пошло не так, но вам, ребята, может быть полезно покататься на их ласточкином хвосте.
Остальное в вашем продукте просто замечательное, просто оставьте его как есть, возможно, подправив здесь или там.
Мой проект на Laravel 5.2. и в соответствии с руководством для этого требовался php >= 5.5.6, но был установлен php 5.4, и мне пришлось обновить версию php через YUM, но теперь он выдает ошибку «Драйвер PDO не найден», и я попытался YUM установить php-pdobut it" выдает ошибку, что "существует конфликт между php56w-common и php-comon-5.4.16". Я застрял на этом этапе
cd ~curl "https://setup.ius.io/" -o setup-ius.shЗапустите скрипт:
sudo bash setup-ius.shОбновление mod_php с помощью Apache
В этом разделе описывается процесс обновления системы, использующей Apache в качестве веб-сервера и mod_php для выполнения кода PHP. Если вместо этого вы используете Nginx и PHP-FPM, перейдите к следующему разделу.
Начните с удаления существующих пакетов PHP. Нажмите y и нажмите Enter, чтобы продолжить, когда будет предложено.
sudo yum удалить php-cli mod_php php-commonУстановить новые пакеты PHP 7 из IUS. Снова нажмите y и Enter, когда будет предложено.
sudo yum install mod_php70u php70u-cli php70u-mysqlnd Наконец, перезапустите Apache, чтобы загрузить новую версию mod_php:
systemctl status httpd
Поделиться
Улучшить этот ответ
Подписаться
отредактировано 21 апр "17 в 9:52
Rory McCrossan
302k3737 золотых знаков266266 серебряных знаков302302 бронзовых знаков
ответил 21 апр. "17 в 8:54
Ахмед ДжинаниАхмед Джинани
5,99211 золотой знак1010 серебряных знаков3131 бронзовый знак
1
Добавить комментарий |
38
yum -y remove php* для удаления всех пакетов php, после чего вы сможете установить пакеты версии 5.6.
Поделиться
Улучшить этот ответ
Подписаться
ответил 21 апр "17 в 8:28
user6223711user6223711
1
Добавить комментарий |
Ваш ответ
Спасибо за ответ на вопрос о переполнении стека!
Не забудьте ответить на вопрос. Предоставьте подробности и поделитесь своим исследованием!
Просьбы о помощи, пояснения или ответы на другие вопросы. Заявления, основанные на мнении; подкрепите их ссылками или личным опытом.
Чтобы узнать больше, ознакомьтесь с нашими советами по написанию отличных ответов.
Черновик сохранен
Черновик удален
Зарегистрируйтесь или войдите
Опубликовать как гость
Опубликовать как гость
Обязательно, но не отображается
Опубликовать свой ответ Отклонить
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками php linux centos laravel-5.2 centos7 или задайте свой вопрос.
Блог о переполнении
Популярно на мета
Связанные
2773
Как я могу предотвратить внедрение SQL в PHP?
2699
Удаление элемента из массива в PHP
1344
Как сделать редирект в PHP?
1819
Как сделать так, чтобы отображались ошибки PHP?
2513
Как получить миниатюру видео YouTube с помощью API YouTube?
2179
Как вы анализируете и обрабатываете HTML/XML в PHP?
2103
Как на самом деле работает PHP foreach?
698
ошибок разбора/синтаксиса PHP; и как их решить
2
Невозможно обновить PHP с 5.4 до более поздней версии в CentOs 7
Горячие сетевые вопросы больше горячих вопросов
Лент вопросов
Подпишитесь на RSS
Лент вопросов Чтобы подписаться на этот RSS-канал, скопируйте и вставьте этот URL-адрес в программу для чтения RSS.
lang-php
Stack Overflow
Продукты
Компания
Сеть Stack Exchange
дизайн сайта / логотип © 2021 Stack Exchange Inc; вклады пользователей под лицензией cc by-sa. ред.2021.3.15.38781
Читайте также: