Самая быстрая файловая система? tmpfs смонтирован из доступной RAM, с noatime
набор.
Это только жизнеспособно, если у Вас есть процедура проверки, все должно было создать Ваше исходное дерево (так как содержание tmpfs файловой системы уйдет, когда Вы перезагрузите), и если источник и объекты вписываются в разумный угол Вашей доступной RAM (с достаточным количеством, которое осталось для выполнения компилятора и компоновщика, не подкачивая). Это сказало Вас удар наклона, работающий из RAM на скорость..
Ok, this is what I did, what worked and what didn't:
Three scenarios:
just install php53u and see what happens заменяет php, но жалуется на зависимости
удалить php и установить php53u
Это тот, который сработал как шарм:
yum erase php
yum install php53u php53u-common php53u-xml php53u-devel php53u-mysql php53u-pecl php53u-gd
Комментаторы рекомендовали сначала протестировать это на тестовом сервере (спасибо, что подбадривали меня!). Я тестировал его на сервере CentOS 5.9, на котором запущен сайт разработки Drupal 7 (и целая куча вещей, не связанных с php). На этом сервере работает сервер mysql 5.6, который требует установки rpm php53u-mysql вручную с помощью --nodeps, чтобы заставить его работать - просто добавив это здесь для полноты картины.
В конце концов, простоя не было, просто была аккуратно перезагружена httpd.
Я предполагаю, что ваши команды должны быть в двух отдельных строках. Я отредактировал его, чтобы отразить это.
Проблема в том, что "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
По порядку мы:
оболочку 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 '
, чтобы найти их. Однако они должны быть редкими.
Моя проблема вращалась вокруг проблемы "общие конфликты php53 с общими php". Коробка - старый сервер, и я собирался протестировать код, прежде чем поместить его на производственную машину. Он работает под управлением Centos 5 и раньше был производственным, но теперь его отправили на тестирование. Он слишком стар, чтобы обновляться до Centos 6x без новых внутренностей, поэтому я пока застрял на нем.
Итак ... практически ничего не работало, пока я не наткнулся на эту идею в сети:
Установите репозитории epel и ius. Удалить все пакеты php Установите все пакеты php53u, как указано в ответе выше.
Я вообще не использовал yum erase.
Что я обычно делаю в 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