Обновление от php53 до php53u (epel в репозитории IUS) - Centos 6.4

Самая быстрая файловая система? tmpfs смонтирован из доступной RAM, с noatime набор.

Это только жизнеспособно, если у Вас есть процедура проверки, все должно было создать Ваше исходное дерево (так как содержание tmpfs файловой системы уйдет, когда Вы перезагрузите), и если источник и объекты вписываются в разумный угол Вашей доступной RAM (с достаточным количеством, которое осталось для выполнения компилятора и компоновщика, не подкачивая). Это сказало Вас удар наклона, работающий из RAM на скорость..

0
задан 18 January 2016 в 18:13
4 ответа

Ok, this is what I did, what worked and what didn't:

Three scenarios:

  1. just install php53u and see what happens заменяет php, но жалуется на зависимости

  2. удалить php и установить php53u

    Это тот, который сработал как шарм:

    yum erase php

    yum install php53u php53u-common php53u-xml php53u-devel php53u-mysql php53u-pecl php53u-gd

  3. Комментаторы рекомендовали сначала протестировать это на тестовом сервере (спасибо, что подбадривали меня!). Я тестировал его на сервере CentOS 5.9, на котором запущен сайт разработки Drupal 7 (и целая куча вещей, не связанных с php). На этом сервере работает сервер mysql 5.6, который требует установки rpm php53u-mysql вручную с помощью --nodeps, чтобы заставить его работать - просто добавив это здесь для полноты картины.

В конце концов, простоя не было, просто была аккуратно перезагружена httpd.

0
ответ дан 4 December 2019 в 18:07

Я предполагаю, что ваши команды должны быть в двух отдельных строках. Я отредактировал его, чтобы отразить это.

Проблема в том, что "yum erase php" также извлекает зависимости. Это означает, что вы потеряете все установленные вами пакеты, зависящие от PHP. Существует команда yum под названием replace . но это не всегда присутствует и иногда ... удивляет. И не в хорошем смысле.

Таким образом, я предпочитаю выламывать оболочку yum . Команды для завершения вашей операции будут выглядеть так:

yum shell
erase php
install php53u php53u-common php53u-xml php53u-devel php53u-mysql php53u-pecl php53u-gd
ts
run

По порядку мы:

  1. Запускаем оболочку yum
  2. Сообщаем ей, что нужно стереть PHP (обратите внимание, что на самом деле она не выполняет ] что еще)
  3. Запрос на установку перечисленных пакетов (опять же, это просто добавит их в список)
  4. Запрос "transaction-show"; то есть, просят yum рассказать нам, что он собирается делать. На самом деле, это просто проверка работоспособности, поскольку мы снова увидим это на следующем шаге.
  5. Указание yum запустить транзакцию, как указано. Он проверит зависимости и создаст полный список действий, которые он намеревается предпринять, и представит вам традиционное приглашение yum y / n для утверждения перед продолжением.

Чтобы убедиться, что я действительно все понял. , Я был известен тем, что написал небольшую часть bash. Примерно так:

rpm -qa --queryformat '%{NAME}-%{VERSION}.%{ARCH}\n' | grep -E '^php53[^u].*5\.3' | tr '\n' ' '
rpm -qa --queryformat '%{NAME}-%{VERSION}.%{ARCH}\n' | grep -E '^php53[^u].*5\.3' | sed 's/php53/php53u/;s/-5\.3\..*//'

Первая строка дает мне список пакетов, которые я помещаю после erase внутри оболочки yum . Вторая строка дает мне список пакетов, которые нужно установить после install . Обратите внимание, что вам, возможно, придется обрабатывать некоторые вспомогательные пакеты (например, из PECL) вручную. Используйте какой-нибудь вариант rpm -qa | grep php | grep -vE '^ php53. * 5 \ .3 ', чтобы найти их. Однако они должны быть редкими.

1
ответ дан 4 December 2019 в 18:07

Моя проблема вращалась вокруг проблемы "общие конфликты php53 с общими php". Коробка - старый сервер, и я собирался протестировать код, прежде чем поместить его на производственную машину. Он работает под управлением Centos 5 и раньше был производственным, но теперь его отправили на тестирование. Он слишком стар, чтобы обновляться до Centos 6x без новых внутренностей, поэтому я пока застрял на нем.

Итак ... практически ничего не работало, пока я не наткнулся на эту идею в сети:

Установите репозитории epel и ius. Удалить все пакеты php Установите все пакеты php53u, как указано в ответе выше.

Я вообще не использовал yum erase.

0
ответ дан 4 December 2019 в 18:07

Что я обычно делаю в CentOS 6.x для обновления php по умолчанию с 5.x до ius php53u:

rpm -Uhv https://centos6.iuscommunity.org/ius-release.rpm
yum -y install yum-utils yum-plugin-replace
yum -y install libtidy
yum -y --enablerepo=ius-archive replace php --replace-with php53u
yum -y --enablerepo=ius-archive install php53u php53u-common php53u-imap php53u-bcmath php53u-gd php53u-dba php53u-mbstring php53u-mcrypt php53u-mysql php53u-soap php53u-xml php53u-tidy
php -v
0
ответ дан 4 December 2019 в 18:07

Теги

Похожие вопросы