Установите php-mcrypt на CentOS 6
Я уже давно пытаюсь установить php-mcrypt. Каждый раз, когда я получаю сообщение "Нет пакета php-mcrypt". вернулся ко мне. Вот что я попробовал:
root@ip-********** [~]# yum install php-mcrypt --enablerepo=centosplus (<- both with and without this)
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: p3plmirror01.prod.phx3.secureserver.net
* centosplus: p3plmirror01.prod.phx3.secureserver.net
* epel: mirrors.solfo.com
* extras: p3plmirror01.prod.phx3.secureserver.net
* updates: p3plmirror01.prod.phx3.secureserver.net
centosplus | 3.5 kB 00:00
centosplus/primary_db | 746 kB 00:00
Setting up Install Process
No package php-mcrypt available.
Error: Nothing to do
Я удостоверился, что установил репозиторий EPEL. На данный момент я просто в тупик. Я следовал КАЖДОМУ учебнику, который нашел в Интернете, и получаю ту же ошибку.
Примечания: Go Daddy VPS, CentOS 6.4 64-bit, mcrypt установлен без заминки, но без php-mcrypt.
17 ответов
Просто головы до тех, кто заинтересован. Я был в состоянии понять это. Это было намного проще, чем я думал. Под менеджером WHM перейдите по ссылке: Главная страница >> Программное обеспечение >> EasyApache (обновление Apache) >> Там есть две опции: "Создать профиль" или "Настроить на основе профиля". Я пошел Настроить, чтобы сохранить текущие настройки, а затем следовал инструкциям на странице. Со временем появилось место для добавления и удаления модулей php. Там вы найдете когда-либо модуль под солнцем. Просто выберите тот, который вы хотите, и перестройте профиль. Это было действительно так просто.
Я надеюсь, что это помогает кому-то!
У меня была та же проблема, и я обнаружил, что предыдущие предложения дали мне достаточно информации, чтобы она работала на моем сервере. Вот что я сделал:
1) Установите EPEL-репозиторий (от: http://www.rackspace.com/knowledge_center/article/installing-rhel-epel-repo-on-centos-5x-or-6x):
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
2) Установите его через:
yum update
yum install php-mcrypt*
yum update
обновил ссылку на репозиторий на моем сервере, затем 2-я команда получила то, что мне было нужно:)
3) Перезагрузите ваш веб-сервер. Для моей установки Apache я сделал:
service httpd restart
Для меня ответ был:
1) Получить репо от
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
2) Установите его через:
sudo yum update
sudo yum install php-mcrypt*
3) Отредактируйте mcrypt.ini
sudo nano /etc/php.d/mcrypt.ini
Добавь это
extension=/usr/lib64/php/modules/mcrypt.so
Наконец 4) Перезагрузите ваш веб-сервер:
sudo service httpd restart
Я выполняю эти шаги в CentOS 6.3 (64) на образе Azure From Microsoft Linux
Надеюсь, это поможет вам.
С уважением.
Обновленный ответ для centos 7
## RHEL/CentOS 7 64-Bit ##
# wget http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
# rpm -ivh epel-release-7-0.2.noarch.rpm
Для CentOS 6
## RHEL/CentOS 6 32-Bit ##
# wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm
## RHEL/CentOS 6 64-Bit ##
# wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm
устанавливать
yum install php-mcrypt
Изменить: см. Комментарии для обновленных репозиториев.
yum install php-mcrypt.x86_64
работал на меня вместо
yum install php-mcrypt
У меня слишком много проблем при установке php-mcrypt с помощью epel-release-6-8.noarch.rpm. У него есть проблема зависимости.
Тогда я попробовал по-другому.
Получите php-mcrypt с помощью команды wget ftp://ftp.univie.ac.at/systems/linux/fedora/epel/6/x86_64/php-mcrypt-5.3.3-3.el6.x86_64.rpm.
Затем установите libmcrypt
Установленный php-mcrypt с помощью следующей команды
yum install php-mcrypt-5.3.3-3.el6.x86_64.rpm
Лучший способ это:
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/php-mcrypt-5.3.3-3.el6.x86_64.rpm
yum localinstall php-mcrypt-5.3.3-3.el6.x86_64.rpm
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/libmcrypt-2.5.8-9.el6.x86_64.rpm
yum localinstall libmcrypt-2.5.8-9.el6.x86_64.rpm
или перейдите по адресу: http://dl.fedoraproject.org/pub/epel/6/x86_64/ чтобы проверить вашу версию из файла info.php, и все в порядке - готово!
Чтобы установить mcrypt с http://namhuy.net/641/centos-6-install-mcrypt-for-phpmyadmin.html
i386
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
x86_64
http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
затем просто используйте команду yum для установки пакета mcrypt
yum install php-mcrypt
Если php_mcrypt установлен на 64-разрядной версии, но установщик обнаружил, что он отсутствует, проверьте путь расширения:
vi /etc/php.d/mcrypt.ini
; Enable mcrypt extension module ;extension=module.so extension=/usr/lib64/php/modules/mcrypt.so
Есть два способа решения этой проблемы:
- Загрузите php-mcrypt с сайта fedora: http://injustfiveminutes.wordpress.com/2012/11/23/install-php-mcrypt-extension-on-rhel-6/
- Проверьте, не сталкивались ли вы с известной ошибкой с неправильно упакованным расширением php-mcrypt: http://www.sterndata.com/blog/phymyadmin-mcrypt-and-centos-6-mcrypt-extension-missing-solved
Мне пришлось добавить репозиторий EPEL. Вот откуда пришел мой php-mcrypt:
[root@system ~]$ repoquery -i php-mcrypt
Name : php-mcrypt
Version : 5.3.3
Release : 1.el6
Architecture: i686
Size : 39225
Packager : Fedora Project
Group : Development/Languages
URL : http://www.php.net/
Repository : epel <----------
Summary : Standard PHP module provides mcrypt library support
Source : php-extras-5.3.3-1.el6.src.rpm
Description :
Standard PHP module provides mcrypt library support
Вы можете включить репо EPEL с инструкциями здесь:
Сначала узнайте свою версию PHP. В моем случае 5.6.
php --version
PHP 5.6.27 (cli) (built: Oct 15 2016 21:31:59)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
Затем:
sudo yum search mcrypt
И выберите лучший вариант для вашей версии из списка, который я использовал php56w-mcrypt
,
$ sudo yum search mcrypt
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
..... output truncated ....
libmcrypt-devel.i686 : Development libraries and headers for libmcrypt
libmcrypt-devel.x86_64 : Development libraries and headers for libmcrypt
libtomcrypt-devel.i686 : Development files for libtomcrypt
libtomcrypt-devel.x86_64 : Development files for libtomcrypt
libtomcrypt-doc.noarch : Documentation files for libtomcrypt
php-mcrypt.x86_64 : Standard PHP module provides mcrypt library support
php55w-mcrypt.x86_64 : Standard PHP module provides mcrypt library support
# either of these are fine:
php56-php-mcrypt.x86_64 : Standard PHP module provides mcrypt library support
php56w-mcrypt.x86_64 : Standard PHP module provides mcrypt library support
php70-php-mcrypt.x86_64 : Standard PHP module provides mcrypt library support
php70w-mcrypt.x86_64 : Standard PHP module provides mcrypt library support
php71-php-mcrypt.x86_64 : Standard PHP module provides mcrypt library support
libmcrypt.i686 : Encryption algorithms library
libmcrypt.x86_64 : Encryption algorithms library
libtomcrypt.i686 : A comprehensive, portable cryptographic toolkit
libtomcrypt.x86_64 : A comprehensive, portable cryptographic toolkit
mcrypt.x86_64 : Replacement for crypt()
```
В заключение:
sudo service httpd restart
Установка php-mcrypt из Repoforge у меня сработала отлично. Просто добавьте Repoforge с http://repoforge.org/ и просто запустите yum install php-mcrypt.
Для меня это сработало:yum install php-mcrypt*
а затем перезапустите службу httpdservice httpd restart
Я попробовал решение @VenomFangs, но первый шаг мне не понадобился. У меня уже была установлена более новая версия EPEL. Итак, первый шаг после этого оказался бесполезным, я вернулся к снимку, который делал до внесения изменений, и я просто использовал приведенные выше команды установки и перезапуска.
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
CentOS Linux выпуск 7.2.1511 (Core)
PS: я знаю, что это не предмет, но если кому-то это нужно, ключевое слово может помочь. Мне нужно было сделать это из-за этой ошибки на prestashop. Вот два ключевых слова, которые я хотел бы использовать, чтобы найти эту информацию: "php_mycrypt.dll" "php_mcrypt.dll"Fatal error: Call to undefined function mcrypt_encrypt() in /classes/Rijndael.php on line 46
ИЗМЕНИТЬ 10/06/2016:
Еще одно решение Prestashop, которое можно попробовать в "Расширенные параметры", "Производительность", "Шифрование" (FR: Chiffrement), "Use the custom BlowFish class."
вместо "Use Rijndael with mcrypt lib. (you must install the Mcrypt extension)."
Если вы хотите перекомпилировать PHP
с mcrypt
включить.
1. Insatll mcrypt
, libmcrypt-devel
Из сторонних репозиториев EPEL, поэтому вы должны:
yum --enablerepo=extras install epel-release
yum install libmcrypt-devel
2. Добавить --with-mcrypt
на ваш ./configure
аргументы:
./configure --with-mcrypt
3. Сборка и установка:
make & make install
Пытаться
yum clean all
yum remove epel-release
yum install epel-release
и наконец
yum install php-mcrypt
У меня была такая же проблема в Centos 6,5
Окончательное решение ниже работало для меня
-перейти к http://dl.fedoraproject.org/pub/epel/6/x86_64/
-поиск php-mcrypt ( http://dl.fedoraproject.org/pub/epel/6/x86_64/php-mcrypt-5.3.3-3.el6.x86_64.rpm)
-execute wget http://dl.fedoraproject.org/pub/epel/6/x86_64/php-mcrypt-5.3.3-3.el6.x86_64.rpm
-rpm -ivh php-mcrypt-5.3.3-3.el6.x86_64.rpm
если есть какие-либо зависимости, вы можете скачать их, используя http://dl.fedoraproject.org/pub/epel/6/x86_64/
Для php 7 для установки mcrypt выполните:
Centos: sudo yum установить php7.0-mcrypt для установки
В Ubuntu: sudo apt-get установить php7.0-mcrypt