使用 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 扩展详情。