如何在CentOS 5.7 64位上为PHP 5.3.3安装mcrypt?


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的结果更加令人困惑。

我知道这可能是一个愚蠢的问题,但任何帮助将不胜感激。我习惯了Ubuntu的简单“ apt-get install”,一切正常。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作为依赖项(?),而我试图在CentOS 5.7上使用php 5.3而不是默认的php 5.1。


到底什么不起作用,它怎么失败了?您能否提供输出摘要?
colechristensen 2012年

我用一些我尝试过的东西和输出更新了我的帖子。
Buttle Butkus

Answers:


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存储库包含更多和更多升级的软件包,以补充默认存储库。


在32位CentOS Linux 5.5上安装EPEL存储库:

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

在64位CentOS Linux 5.5上安装EPEL存储库:

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

不,php 5.3并不是必须的。但是php 5.2+是。无论哪种方式,我都不能使用CentOS 5.7中使用的默认PHP。如果将5.2与我需要的所有软件包一起安装要容易得多,我一定会这样做。但是由于它也不是默认值,因此我认为它可能同样困难,因此我最好还是为5.3和5.2付出努力。??
Buttle Butkus 2012年

运行命令来安装EPEL,您的问题将很容易解决。
colechristensen 2012年

另外,如果不会造成太大麻烦,可以请您解释一下如何找到该软件包,并确保它是适用于OS版本,处理器(32/64位)和PHP版本的软件包吗?也就是说,您使用什么工具来找到可以提供所需软件包的rpm网址?非常感谢!
Buttle Butkus

1
因此,yum install php53-mcrypt可以正常工作,但是非常遗憾的是未找到php53-mhash和php53-pear。这是否意味着它们在EPEL上不存在?
Buttle Butkus,2012年

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存储库。我也记得遇到了一些小故障。在一切正常之前,我不得不多次卸载/重新安装。
Buttle Butkus 2012年

在我添加到新安装的CentOS盒子中的存储库中,Remi紧随EPEL之后。以后可以节省很多麻烦。:)
迈克尔·汉普顿

-1

首先,找出您使用的PHP版本:

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

http://rpmfind.net/linux/rpm2html/search.php?query=php-mcrypt上找到合适的RPM软件包(与您的PHP版本和CPU体系结构匹配)

对我来说是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,您是对的,我尝试了,但是没有找到,因此使用上述解决方案快速解决了问题
Maulik Shah 2013年

-2

看起来您必须自己编译,因为CentOS5上似乎没有用于php-5.3的mcrypt RPM。

看一下如何进行编译:

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

请注意,如果这很重要,它将使您脱离mcrypt和pear的软件包管理。


当您正在处理的实际问题完全不同时,手动管理此类软件包通常是一个错误。您将不会了解安全更新,错误修复,并且很有可能搞砸问题并浪费时间解决错误的问题。然后,与RedHat关联的存储库EPEL发布了基于EL5发行版的php53-mcrypt程序包。
colechristensen 2012年

我很清楚这些问题。问题是,从原始发布者的早期问题开始,他陷入了使CentOS5实例运行php 5.3的困境。在我引用的博客文章中,无论如何他都会被搞砸,因为没有php53-mcrypt和php53-pear软件包,因此无论他做什么,他都将脱离版本控制。如果他必须使用CentOS5,那么如果他需要php mcrypt和pear,他没有太多选择。
cjc 2012年

实际上,当我关注colechristensen的帖子时,确实安装了php53-mcrypt。但是php53-pear和php53-mhash失败了。我不想弄乱编译,所以我认为更好的选择是1:尝试再次使用php52进行所有操作(我至少需要php 5.2)。如果失败了,我将尝试将CentOS升级到5.7。如果失败,请购买新服务器并自己安装可行的操作系统。
Buttle Butkus 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.