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-mcrypt
和which mcrypt
。 whereis php-mcrypt
和 whereis mcrypt
什么也没出现。 sudo yum php-mcrypt
导致 Package php-mcrypt-5.3.3-1.el6.rf.i686 already installed and latest version. Nothing to do
。 sudo yum libmcrypt
透露 Package libmcrypt-2.5.7-1.2.el6.rf.i686 already installed and latest version. Nothing to do
。 php --version
显示 PHP 5.3.3。我在 php.ini 文件中搜索了 mcrypt,但什么也没找到。 echo phpinfo
除Additional .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