Php
安裝了 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,但這也沒有什麼不同。
我想不出還有什麼我可能會錯過的……有人有什麼想法嗎?
你在正確的軌道上,問題是 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 ”,這通常會列出已安裝的模組,但也會顯示有關它遇到問題的模組的警告/錯誤。