CentOS yum php mcrypt 扩展安装方法

时间:2022-08-28 21:10:00

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