在 CentOS 6 上安装 php-mcrypt
Posted
技术标签:
【中文标题】在 CentOS 6 上安装 php-mcrypt【英文标题】:Install php-mcrypt on CentOS 6 【发布时间】:2013-06-11 04:21:20 【问题描述】:我已经尝试安装 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 DaddyVPS、CentOS 6.4 64 位,mcrypt 安装顺利,但没有 php-mcrypt。
【问题讨论】:
因为Go daddy VPS,过去几天对我来说是噩梦。我可以联系你吗,以防我们可以分享知识..谢谢 最好不要使用mcrypt,它是废弃软件,多年未更新,不支持标准PKCS#7(née PKCS#5)填充,只有非标准空填充可以'甚至不能与二进制数据一起使用。 mcrypt 有许多出色的 bugs 可以追溯到 2003 年。请考虑使用 defuse,它正在维护并且是正确的。 Mcrypt 在许多第三方应用程序和框架中仍然大量使用。所以除非 defuse 可以无缝替换 mcrypt 而无需重新编码它目前不是一个选项。但我一定会记住这一点,以备将来参考! 【参考方案1】:有两种方法可以解决这个问题:
从 fedora 下载 php-mcrypt: 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【讨论】:
我能够安装 libmcrypt 但不能安装 php-mcrypt 我仍然收到错误:root@ip-50-62-78-213 [/tmp]# yum localinstall php-mcrypt-5.3。 3-1.el6.x86_64.rpm 加载的插件:fastestmirror 设置本地包进程 检查 php-mcrypt-5.3.3-1.el6.x86_64.rpm:php-mcrypt-5.3.3- 1.el6.x86_64 没什么做 谢谢,菲利普斯。我一直在寻找一种无需升级 PHP (5.3.3) 即可安装 php-mcrypt 的方法,从 fedora 下载就可以了。【参考方案2】:对我来说,我必须添加 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 存储库:
http://fedoraproject.org/wiki/EPEL
【讨论】:
EPEL 帮助我让它在我的服务器上运行,但是关于如何安装 EPEL 的链接并没有太大帮助。我在下面给出了一个答案,显示了如何安装它并引用了我使用的参考。【参考方案3】:我能够解决这个问题;它比我想象的要简单得多。在 WHM 管理器下转到:主页 >> 软件 >> EasyApache(Apache 更新) >> 您有两个选项“构建配置文件”或“基于配置文件自定义”。我去自定义以保留我当前的配置,然后按照页面上的说明进行操作。
最终有一个地方可以添加和删除 php 模块。在那里你会发现太阳下的任何模块。只需选择您想要的并重建配置文件。就这么简单。
【讨论】:
它确实帮助了我。为你投票。可是等等。在我看来,一切都必须通过 EasyApache 安装。 yum 命令有点被禁用或其他东西。你能分享一下你的经验吗 @PhamHuyAnh 那是很久以前的事了。据我所知,我能够像上面所说的那样通过 cpanel 后端完成这一切。您应该必须运行任何 yum 命令。 我已经通过 Godaddy VPS 度过了痛苦。不得不同时使用 EasyApache 和 yum...谢谢 很棒的帮助。我尝试了所有命令以及 .rpm 包,但没有与任何人一起使用,但是当我尝试使用 EasyApache 时,它就像一个魅力。对这个有很大帮助.... :) 两个最佳答案都不适合我。这个做到了。【参考方案4】:如果 php_mcrypt 安装在 64 位,但安装程序报告丢失,请检查扩展路径:
vi /etc/php.d/mcrypt.ini
; Enable mcrypt extension module ;extension=module.so extension=/usr/lib64/php/modules/mcrypt.so
【讨论】:
【参考方案5】:从 Repoforge 安装 php-mcrypt 非常适合我。只需从http://repoforge.org/ 添加 Repoforge 并运行 yum install php-mcrypt。
【讨论】:
谢谢!这是非常有帮助的。 + extension=/usr/lib64/php/modules/mcrypt.so 来自上一条消息【参考方案6】:我遇到了同样的问题,并且发现之前的建议给了我足够的信息来让它在我的服务器上运行。以下是我所做的:
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
更新了我服务器上的存储库引用,然后第二个命令得到了我需要的内容 :)
3) 重新启动您的网络服务器。对于我的 apache 安装,我做了:
service httpd restart
【讨论】:
在某些情况下,是否需要编辑“mcrypt.ini”文件(sudo nano /etc/php.d/mcrypt.ini)并添加行“extension=/usr/lib64/ php/modules/mcrypt.so”。然后重启httpd服务。 当我尝试安装需要 mcrypt 的 opencart 时遇到同样的问题,解决了! 作为一个完整的命令行新手,这对我来说毫无问题 - 非常感谢! 我不得不跑:yum install php53-mcrypt
你只需要 epel 仓库。如果您只想安装 mcrypt,则不需要 remi 存储库。【参考方案7】:
对我来说,答案是:
1) 从
获取 Reposwget 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
我在 Azure 上的 CentOS 6.3 (64) 中从 Microsoft Linux 映像运行此步骤
希望对你有帮助。
最好的问候。
【讨论】:
没有必要,至少对我来说,更改扩展名。 太棒了!像魅力一样工作。【参考方案8】:从http://namhuy.net/641/centos-6-install-mcrypt-for-phpmyadmin.html安装mcrypt
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
【讨论】:
【参考方案9】:最好的办法是:
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 中检查没问题 - 完成!
【讨论】:
从我的角度来看,这是最好的方法。我不想在我的 centOS 上添加整个 epel 存储库。 如果您这样做,请注意保持您的版本更新。【参考方案10】:yum install php-mcrypt.x86_64
为我工作而不是
yum install php-mcrypt
【讨论】:
【参考方案11】: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
编辑:请参阅 cmets 以获取更新的存储库。
【讨论】:
http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
不起作用...
是的,上面的链接不起作用,因为它是测试版。为了避免粘贴很快就会过时的链接,最好去dl.fedoraproject.org/pub/epel/7/x86_64/e下载最新版本的epel-release
使用yum -y install epel-release && yum -y install php-mcrypt
【参考方案12】:
我在 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) -执行 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/ 下载相同的依赖项
【讨论】:
【参考方案13】:我在使用 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”命令获取 php-mcrypt。
然后安装 libmcrypt
ftp://ftp.pbone.net/mirror/download.fedora.redhat.com/pub/fedora/epel/6/x86_64/libmcrypt-2.5.8-9.el6.x86_64.rpm
使用以下命令安装的 php-mcrypt
yum install php-mcrypt-5.3.3-3.el6.x86_64.rpm
【讨论】:
【参考方案14】:对我来说,这很有效:yum install php-mcrypt*
然后,重启httpd服务service 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(核心)
PS:我知道这不是主题,但如果有人需要,关键字可以提供帮助。由于 prestashop 上的此错误,我需要这样做。我很乐意使用两个关键字来查找此信息:“php_mycrypt.dll”“php_mcrypt.dll”Fatal error: Call to undefined function mcrypt_encrypt() in /classes/Rijndael.php on line 46
编辑 2016 年 10 月 6 日:
在“高级参数”、“性能”、“加密”(FR : Chiffrement)、"Use the custom BlowFish class."
而不是"Use Rijndael with mcrypt lib. (you must install the Mcrypt extension)."
中尝试的另一个 Prestashop 解决方案
【讨论】:
【参考方案15】:首先找出您的 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
【讨论】:
你拯救了我的一天... 步骤 1. sudo yum search mcrypt 步骤 2. sudo yum install php70-mcrypt.x86_64 步骤 3 重新启动 apache【参考方案16】:对于 php 7 安装 mcrypt 运行:
Centos: sudo yum install php7.0-mcrypt 安装
在 Ubuntu 上: sudo apt-get install php7.0-mcrypt
【讨论】:
【参考方案17】:如果你想重新编译PHP
并启用mcrypt
。
1。
卫星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
【讨论】:
【参考方案18】:试试
yum clean all
yum remove epel-release
yum install epel-release
最后
yum install php-mcrypt
【讨论】:
以上是关于在 CentOS 6 上安装 php-mcrypt的主要内容,如果未能解决你的问题,请参考以下文章
如何在 CentOS 7.0 x64 上安装 MCrypt PHP 扩展