我正在尝试在 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“这通常会列出已安装的模块,但也会显示有关遇到问题的模块的警告/错误。