Php

安裝了 php-mcrypt 但它沒有出現在 phpinfo()

  • February 11, 2011

我正在嘗試在 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,但這也沒有什麼不同。

我想不出還有什麼我可能會錯過的……有人有什麼想法嗎?

你在正確的軌道上,問題是 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

嘗試“ php -m ”,這通常會列出已安裝的模組,但也會顯示有關它遇到問題的模組的警告/錯誤。

引用自:https://serverfault.com/questions/234288