Как установить mcrypt для PHP 5.3.3 на CentOS 5.7 64 бит?

11

Я установил PHP 5.3 и некоторые модули, используя

yum install php53-{module-name}

Но Mcrypt не работал.

Я искал вот так:

yum list php* | grep mcry

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

php-mcrypt.x86-64         5.1.6-15.e15.centos.1    extras

У меня точно такая же проблема с mhash. Результаты для php еще более запутанные.

Я знаю, что это, вероятно, глупый вопрос, но любая помощь будет оценена. Я привык к простой "apt-get install" в Ubuntu, и все работает. CentOS кажется более детально ориентированным.

Благодарю.

РЕДАКТИРОВАТЬ: Вот что я пытался:

yum install php53-mcrypt

Результат:

No package php53-mcrypt available

И пытается это:

yum install php-mcrypt

Результаты в:

Error: php53-common conflicts with php-common

Потому что php-mcrypt пытается получить php-common как зависимость (?), И я пытаюсь использовать php 5.3 вместо php 5.1 по умолчанию в CentOS 5.7.

Баттл Буткус
источник
Что именно не сработало и как не получилось? Не могли бы вы предоставить фрагмент вывода?
Колехристенсен
Я обновил свой пост некоторыми вещами, которые я пробовал, и выводом.
Баттл Буткус

Ответы:

18

Php 5.3 действительно необходим для того, что вы делаете? Не предполагайте автоматически, что новее лучше.

При обновлении до CentOS 6 php 5.3 используется по умолчанию.

Что вы должны понять, так это то, что RedHat (и, следовательно, его клоны) очень осторожно относится к обновлению пакетов по уважительной причине. Если вы хотите, чтобы приложение получило больше обновленных пакетов, ожидайте проблем.

Тем не менее, пакет, который вы ищете, существует! Все, что вам нужно сделать, это

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
yum install php53-mcrypt

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


Установите EPEL-репозиторий на 32-битном CentOS Linux 5.5:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

Установите EPEL-репозиторий в 64-битном CentOS Linux 5.5:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
colechristensen
источник
Нет, php 5.3 на самом деле не нужен. Но php 5.2+ есть. В любом случае, я не могу использовать PHP по умолчанию, используемый в CentOS 5.7. Если установка 5.2 со всеми необходимыми мне пакетами значительно проще, я бы это сделал. Но так как это не значение по умолчанию, я предполагаю, что это может быть так же сложно, и поэтому я могу также приложить усилия для 5.3, как и для 5.2. ??
Баттл Буткус
Запустите команды для установки EPEL, и ваши проблемы будут легко решены.
Колехристенсен
Кроме того, если это не составит большого труда, не могли бы вы объяснить, как вы нашли пакет и убедились, что он правильный для версии ОС, процессора (32/64 бит) и версии PHP? Т.е., какой инструмент вы использовали, чтобы найти URL RPM, который дал вам именно тот пакет, который вам нужен? Большое спасибо!
Баттл Буткус
1
Итак, yum install php53-mcrypt сработал, но, к сожалению, php53-mhash и php53-pear не были найдены. Значит ли это, что их нет на EPEL?
Баттл Буткус
1
Этот ответ работал для меня. Не забудьте перезагрузить /etc/init.d/httpd restart, чтобы просмотреть изменения.
Джош
2

Это определенно будет работать на CentOS / RHEL 6+ Версии.
Надеюсь, что подобный подход будет работать на 5+ версий.

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update
yum install -y php-mcrypt
夏 期 劇場
источник
1

Поскольку люди все еще приходят сюда, я добавлю ответ, который я еще не видел.

Я использую CentOS, но мне также нужно быть в курсе PHP и MySQL с более поздними версиями, которые Red Hat выберет. Чтобы решить эту проблему, я использую репозиторий remi , который предоставляет текущие пакеты PHP, MySQL, Symfony и некоторые другие вещи для CentOS.

(И я только что снял с эксплуатации последнюю коробку CentOS 5 меньше часа назад, ура!)

Майкл Хэмптон
источник
Я решил свою проблему и, хотя это было несколько месяцев назад, я думаю, что он использовал хранилище remi. Я также помню, что столкнулся с несколькими глюками, хотя. Мне пришлось удалить / переустановить несколько раз, прежде чем все прошло правильно.
Баттл Буткус
Remi стал сразу за EPEL в репозиториях, которые я добавляю в недавно установленную коробку CentOS. Это экономит много головных болей позже. :)
Майкл Хэмптон
-1

Сначала узнайте, какую версию PHP вы используете:

rpm -q php
output:php-5.3.3-22.el6.x86_64

Найдите соответствующий пакет RPM по адресу http://rpmfind.net/linux/rpm2html/search.php?query=php-mcrypt (соответствует версии PHP и архитектуре процессора)

Для меня это был ftp://rpmfind.net/linux/epel/6/x86_64/php-mcrypt-5.3.3-1.el6.x86_64.rpm

На этом установка завершена:

wget -c ftp://rpmfind.net/linux/epel/6/x86_64/php-mcrypt-5.3.3-1.el6.x86_64.rpm
rpm -i --nodeps php-mcrypt-5.3.3-1.el6.x86_64.rpm

Проверьте php -vна ошибки.

Маулик Шах
источник
Лучше правильно установить репозитории EPEL, чтобы все зависимости были правильно разрешены. Вы не ходить на охоту за случайные пакеты по сети!
vonbrand
да @vonbrand, вы правы, я попробовал, но не нашел ни одного, поэтому использовал вышеупомянутое решение, чтобы быстро решить проблему
Маулик Шах,
-2

Похоже, вам придется скомпилировать его самостоятельно, поскольку на CentOS5 нет RPM-пакета mcrypt для php-5.3.

Посмотрите на это, как сделать компиляцию:

http://chrisjean.com/2011/06/24/upgrade-php-5-1-or-5-2-to-5-3-on-centos/

Обратите внимание, что это выведет вас из управления пакетами для mcrypt и pear, если это важно.

CJC
источник
Ручное управление такими пакетами, когда реальная проблема, над которой вы работаете, совершенно другая ... обычно это ошибка. Вы не будете знать об обновлениях безопасности, исправлениях ошибок, и у вас будет реальная возможность все испортить и напрасно потратить время на исправление неправильных проблем. Это и EPEL, репозиторий, связанный с RedHat, публикует пакет php53-mcrypt для дистрибутивов на основе EL5.
Colechristensen
Я хорошо осведомлен о проблемах. Проблема в том, что из предыдущих вопросов автора поста он пытался запустить php 5.3 на экземпляре CentOS5. Из сообщения в блоге, которое я цитировал, он все равно будет испорчен, так как нет пакетов php53-mcrypt и php53-pear, так что, независимо от того, что он делает, он будет вне контроля версий. Если он должен быть на коробке CentOS5, у него не будет большого выбора, если ему нужны php mcrypt и pear.
CJC
На самом деле, php53-mcrypt был установлен, когда я следовал за постом Колехристенсена. Но php53-pear и php53-mhash потерпели неудачу. Я не хочу возиться с компиляцией, поэтому я думаю, что лучше варианты 1: попробуйте сделать все это снова с php52 (мне нужен по крайней мере php 5.2). И если это не удается, я бы попробовал обновить CentOS до 5.7. А если это не поможет, купите новый сервер и установите работоспособную ОС самостоятельно.
Баттл Буткус