Php 5.3 mcrypt 无法在 CentOS 6.3 32 位上运行

Posted

技术标签:

【中文标题】Php 5.3 mcrypt 无法在 CentOS 6.3 32 位上运行【英文标题】:Php 5.3 mcrypt not working on CentOS 6.3 32-bit 【发布时间】:2013-07-11 23:26:25 【问题描述】:

我的 CodeIgniter 应用程序在 Amazon EC2 64 位 AMI 微型实例上运行良好,这要感谢 @stormdrain,他 recommended I install mcrypt 解决了一个无法正常工作的 $this->encrypt->decode(...);,它没有解密我的密钥。它现在工作。但是,当我将相同的应用程序(使用 scp)复制到运行 CentOS 6.3 的本地 32 位机器上时,我遇到了同样的问题($this->encrypt->decode(...); 没有解密我的密钥)。

所以我安装了 mcrypt sudo yum install php-mcrypt。但是,找不到which php-mcryptwhich mcryptwhereis php-mcryptwhereis mcrypt 什么也没出现。 sudo yum php-mcrypt 导致 Package php-mcrypt-5.3.3-1.el6.rf.i686 already installed and latest version. Nothing to dosudo yum libmcrypt 透露 Package libmcrypt-2.5.7-1.2.el6.rf.i686 already installed and latest version. Nothing to dophp --version 显示 PHP 5.3.3。我在 php.ini 文件中搜索了 mcrypt,但什么也没找到。 echo phpinfoAdditional .ini files parsed: /mcrypt.ini 外仅找到一项。但是,我找不到这个文件。 CodeIgniter 的 config.php 中已经设置了相同的 Encryption Key。

我不确定我在这里做错了什么。任何帮助将不胜感激。提前致谢。

【问题讨论】:

好吧,如果在ini文件中找不到,为什么不添加呢? 在文件中找到另一个扩展名并复制语法,我不记得了抱歉。 你用的是windows还是centos?如果 centos 你签入 /etc/php.d/* 了吗? 在安装 php_mcrypt 后通过 'yum install ...' 是否通过执行 'service httpd restart' 重新启动了 apache? 试试sudo ll /etc/php.d/,它会列出mcrypt.ini吗? 【参考方案1】:

这似乎是 32 位版本的 mcrypt 使用yum install php-mcrypt 安装时的问题。看看@Installing php-mcrypt on centos 6.4 (32 bytes) causes problem,mcrypt.ini文件有错误的入口

您需要编辑/etc/php.d/mcrypt.ini并更改

extension=module.so

extension=mcrypt.so

然后保存并重启apache。

【讨论】:

+1 非常感谢@R.S 成功了。我的密钥被解密了!再次感谢。

以上是关于Php 5.3 mcrypt 无法在 CentOS 6.3 32 位上运行的主要内容,如果未能解决你的问题,请参考以下文章

在 CentOS 上将 PHP 5.3 更新到 PHP 5.5 后,我无法访问 phpmyadmin

在 CentOS 6 上安装 php-mcrypt

php-mcrypt 扩展未加载

在 CentOS 上安装时的 php-mcrypt 依赖问题(最新服务器版本)

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

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