2015-05-14

phpMyAdmin 告知說沒有 mcrypt 模組!!!!!

最近重灌機子,在安裝完 LAMP 之後…登入 phpMyAdmin 時發現有告知說 php 少了 mcrypt 的模組…怪了,在 rpm -qa | grep mcrypt 有發現該裝的都有裝呀…

# rpm -qa | grep mcrypt
libmcrypt-2.5.7-1.2.el6.rf.i686
php-mcrypt-5.3.3-1.el6.rf.i686
libmcrypt-devel-2.5.7-1.2.el6.rf.i686

那為什麼 phpmyadmin 會一直提示??



接著,到 php 的 module 庫找找…位子在 /usr/lib/php/modules ( 註:這是 x86 的位子,如果你是 x64 的,位子應該在 /usr/lib64/php/modules )
modules]# ls -l
總計 5108
-rwxr-xr-x. 1 root root   65568 2014-10-31 04:01 curl.so
-rwxr-xr-x. 1 root root 1843644 2014-10-31 04:01 fileinfo.so
-rwxr-xr-x. 1 root root  315980 2014-10-31 04:01 gd.so
-rwxr-xr-x. 1 root root   33428 2014-10-31 04:01 json.so
-rwxr-xr-x. 1 root root 2035692 2014-10-31 04:01 mbstring.so
-rwxr-xr-x. 1 root root  118646 2013-02-19 23:06 mcrypt.so
-rwxr-xr-x. 1 root root  122024 2014-10-31 04:01 mysqli.so
-rwxr-xr-x. 1 root root   45332 2014-10-31 04:01 mysql.so
-rwxr-xr-x. 1 root root   61460 2014-10-31 04:01 odbc.so
-rwxr-xr-x. 1 root root   25672 2014-10-31 04:01 pdo_mysql.so
-rwxr-xr-x. 1 root root   22696 2014-10-31 04:01 pdo_odbc.so
-rwxr-xr-x. 1 root root   90872 2014-10-31 04:01 pdo.so
-rwxr-xr-x. 1 root root   21288 2014-10-31 04:01 pdo_sqlite.so
-rwxr-xr-x. 1 root root  265280 2014-10-31 04:01 phar.so
-rwxr-xr-x. 1 root root   41344 2014-10-31 04:01 sqlite3.so
-rwxr-xr-x. 1 root root   81248 2014-10-31 04:01 zip.so
怪了…粗體字的部份…有 mcrypt 這個模組呀…ok…再繼續找

使用 php -v 查看 php 狀態,這邊有所發現
]# php -v
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/module.so' - /usr/lib/php/modules/module.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP 5.3.3 (cli) (built: Oct 30 2014 19:56:14) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
哦哦,這邊有看到說無法載入 /usr/lib/php/modules/module.so ,而在 /usr/lib/php/modules 底下確實沒有 module.so.......

再來,前往 php 的載入群看一下,位子在 /etc/php.d/mcrypt.ini
; Enable mcrypt extension module
extension=module.so
呃,原來 module.so 是 mcrypt.ini 載入的,但在 /usr/lib/php/modules 中真的沒有 module.so 呀,而且,不是應該是載入 mcrypt.so 嗎…

接著把 extension=module.so 改為 extension=mcrypt.so

重啟 apache…

再重整 phpmyadmin 的網頁…哦,沒有問題了~~~

沒有留言: