在 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) 从

获取 Repos
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

我在 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 &amp;&amp; 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.rpmwget http://rpms.famillecollet.com/enterprise/remi-release-6.rpmsudo 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。 卫星mcryptlibmcrypt-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的主要内容,如果未能解决你的问题,请参考以下文章

我在哪里可以获得 PHP 7 的 php-mcrypt?

如何在 CentOS 7.0 x64 上安装 MCrypt PHP 扩展

Centos 7.x yum安装php5.6.X(最新版)

php-mcrypt 扩展未加载

Laravel https 和 Auth 需要 php-mcrypt 吗?

centos6-7 yum安装php的方法