使用 yum install php-mcrypt 安裝mcrypt擴展時會提示沒有安裝包
Setting up Install Process
No package php-mcrypt available.
Error: Nothing to do
mcrypt 是加密擴展庫,加載了它可以用他里面自帶的22種加密解密算法
CentOS6 默認安裝的是php5.3.2
默認的 redhat repos php中是沒有 mcrypt 擴展的
根據紅帽的官方消息(https://bugzilla.redhat.com/show_bug.cgi?id=621268)RHEL 不打算添加PHP的mcrypt 的支持
Joe Orton 2010-08-05 04:47:17 EDT
Thanks for the report.
We are not planning to ship mcrypt support for PHP.
解決方法:
從php 官網下載新的php 5.3 源碼包后,解壓到本地目錄
進入解壓目錄下的 ext 目錄后會發現有 mcrypt ,
進入 mcrypt 目錄
#cd /ext/mcrypt
#phpize
注意:如果報 -bash:phpize not Found 那么 yum install php-devel 就可以使phpize進行動態編譯安裝擴展
#./configure -with-php-config=/usr/sbin/php/bin/php-config
#make make install
出現:
----------------------------------------------------------------------
Libraries have been installed in:
/var/php-5.3.10/ext/mcrypt/modules
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/lib64/php/modules/
查看:
# php -m
...
libxml
mbstring
mcrypt
mysql
...
[Zend Modules]
已安裝成功!
再次查看 phpinfo ,可以看到mcrypt 擴展詳情。