已安装 php-mcrypt,但它没有显示在 phpinfo() 中

已安装 php-mcrypt,但它没有显示在 phpinfo() 中

我正在尝试在 CentOS 5.4 上安装 php-mcrypt,但是虽然扩展似乎已安装,但当我执行 phpinfo() 时却没有任何信息。

例如,您可以在下面看到 php-mcrypt 似乎已正确安装:

[root@... ~]# rpm -qi php-mcrypt | grep Version
Version     : 5.1.6                             Vendor: CentOS
[root@... ~]# rpm -qi libmcrypt | grep Version
Version     : 2.5.8                             Vendor: CentOS

我尝试过卸载并重新安装它,但没有成功。当我执行 phpinfo() 时,它会在“解析的其他 ini 文件”部分列出“/etc/php.d/mcrypt.ini”,但在其他任何地方都没有提到 mcrypt 扩展。mcrypt.ini 文件包含一行“extension=mcrypt.so”(未注释掉)。

当我运行时,php -v我得到以下信息:

PHP 5.2.6 (cli) (built: May  5 2008 10:32:59)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
    with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator

没有与无法加载扩展相关的错误(我的 PHP 版本是 5.2.6,但如果您看到上面的 php-mcrypt 版本,它会显示“5.1.6”我不确定这是否不正确,这只是巧合,但如果php扩展的版本不正确,我预计运行时会出现错误)。

显然,自从安装 mcrypt 以来我已经重新启动了 apache,但这也没有什么区别。

我想不出我可能遗漏了什么其他东西...有人有什么想法吗?

答案1

您走在正确的轨道上,问题在于 PHP 包版本与 php-mcrypt 版本——因此您需要将 php-mcrypt 升级到 5.2.6。

有关 5.1.6->5.2.6 过程的更多详细说明,请访问:

http://wiki.centos.org/HowTos/PHP_5.1_To_5.22

http://wiki.centos.org/HowTos/PHP_5.1_To_5.2#head-fe084db340a72a9b7b7fca8fcba57ef4e9a344851

答案2

尝试“php -m“这通常会列出已安装的模块,但也会显示有关遇到问题的模块的警告/错误。

相关内容