Як встановити 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 орієнтований набагато більш детально.

Спасибі.

EDIT: Ось що я спробував:

yum install php53-mcrypt

Результат:

No package php53-mcrypt available

І спробуйте це:

yum install php-mcrypt

Призводить до:

Error: php53-common conflicts with php-common

Оскільки php-mcrypt намагається отримати php-звичайний як залежність (?), І я намагаюся використовувати php 5.3, а не php 5.1 за замовчуванням на CentOS 5.7.


Що саме не вийшло і як воно вийшло з ладу? Чи можете ви надати фрагмент виводу?
colechristensen

Я оновив свою публікацію деякими речами, які я спробував, і результатами.
Buttle Butkus

Відповіді:


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

Ні, php 5.3 насправді не потрібен. Але php 5.2+ є. Так чи інакше, я не можу використовувати PHP за замовчуванням, який використовується у CentOS 5.7. Якщо встановити 5.2 з усіма потрібними мені пакетами буде значно простіше, я б точно це зробив. Але оскільки це теж не за замовчуванням, я припускаю, що це може бути так само важко, і тому я можу так само докласти зусиль для 5.3, як для 5.2. ??
Buttle Butkus

Запустіть команди, щоб встановити EPEL, і ваші проблеми будуть вирішені легко.
colechristensen

Крім того, якщо це не складе великих труднощів, чи не могли б ви пояснити, як ви знайшли пакунок і переконалися, що він є правильним для версії ОС, процесора (32/64 біт) та версії PHP? Тобто, який інструмент ви використовували для пошуку URL-адреси rpm, який дав тобі потрібний пакет? Дуже дякую!
Buttle Butkus

1
Так, yum install php53-mcrypt спрацював, але дуже сумно php53-mhash та php53-pear не знайдено. Чи означає це, що вони відсутні в EPEL?
Buttle Butkus

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 вирішив надати. Для вирішення цієї проблеми я використовую репозиторій ремі , який надає поточні пакети PHP, MySQL, Symfony та кілька інших речей для CentOS.

(І я щойно вийшов з ладу останній ящик CentOS 5 менше години тому, ура!)


Я врешті-решт вирішив свою проблему, і, хоча це було місяці тому, я вважаю, що вона використовувала сховище remi. Я також пам'ятаю, натрапивши на кілька глюків, хоча. Мені довелося видалити / перевстановити кілька разів, перш ніж все пішло правильно.
Buttle Butkus

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, ви праві, я спробував це, але не знайшов його, тому використав вище рішення, щоб швидко вирішити проблему
Maulik Shah

-2

Схоже, вам доведеться скласти це самостійно, оскільки, схоже, не існує mcrypt RPM для php-5.3 на CentOS5.

Погляньте на те, як зробити компіляцію:

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

Зауважте, що це дозволить вам позбутися управління пакетами для mcrypt та груші, якщо це важливо.


Ручне керування такими пакунками, коли справжня проблема, над якою ви працюєте, зовсім інша ... зазвичай є помилкою. Ви не будете знати про оновлення безпеки, виправлення помилок та маєте шанси на викручування речей та витрачання часу на виправлення неправильних проблем. Це, і EPEL, сховище, пов'язане з RedHat, публікує пакет php53-mcrypt для дистрибутивів на основі EL5.
colechristensen

Я цілком знаю проблеми. Проблема полягає в тому, що, з попередніх запитань оригінального афіші, він намагається зробити php 5.3 запущеним у екземплярі CentOS5. З посилань на блог, який я цитував, він все одно буде накручений, оскільки немає пакетів php53-mcrypt та php53-pear, так що незалежно від того, що він робить, він буде поза контролем версій. Якщо він повинен знаходитись у вікні CentOS5, він не має великого вибору, якщо йому потрібні php mcrypt і груша.
cjc

Власне, php53-mcrypt все-таки встановився, коли я дотримувався поста Колехрістенсена. Але php53-pear та php53-mhash не вдалося. Я не хочу возитися з компіляцією, тому думаю, що кращі варіанти є 1: спробуйте все це зробити ще раз із php52 (мені потрібно принаймні php 5.2). І якщо це не вдасться, я б спробував оновити CentOS до 5.7. І якщо це не вдається, придбайте новий сервер і встановіть працездатну ОС самостійно.
Buttle Butkus
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.