PHP 动态添加 Mcrypt 扩展库


简介:

PHP 动态添加 Mcrypt 扩展库,这是一个支持多种加密、解密算法、模式的扩展库。

shell > php -m | grep mcrypt # 如果没有输出,就是缺少这个扩展

shell > cd /usr/local/src/php-5.5.10/ext/mcrypt/ # 切换到 PHP 源码目录下的该目录

shell > phpize # 生成 .configure 文件 ( 如果找不到 phpize 命令,尝试指定绝对路径 /usr/local/php/bin/phpize )

shell > ./configure --with-php-config=/usr/local/php/bin/php-config

# 这里可能会出现该报错

configure: error: mcrypt.h not found. Please reinstall libmcrypt.

# 两种解决方法:1、yum 安装 libmcrypt-devel 需要先安装 epel-release 2、源码安装,要去官网下载源码包
# 这两种解决方法都非常方便,使用任意一种即可

shell > yum -y install epep-release # 安装 epep-release

shell > yum -y install libmcrypt-devel

# 安装完 epel-release 后,yum 可能会出现该报错

Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

# 解决起来也非常容易

shell > vim /etc/yum.repos.d/epel.repo
1 [epel]
2 name=Extra Packages for Enterprise Linux 6 - $basearch
3 baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch # 将该行注释取消
4 #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch # 将该行注释

shell > yum clean all # 清除缓存

shell > yum -y install libmcrypt-devel # 再次执行

shell > ./configure --with-php-config=/usr/local/php/bin/php-config
shell > make ; make install

# 输出信息

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/

shell > vim /usr/local/php/lib/php.ini   # 编辑 php.ini
718 ; Directory in which the loadable extensions (modules) reside.
719 ; http://php.net/extension-dir
720 extension_dir = "/usr/lib64/"        # 指定加载模块目录
721 extension = mcrypt.so                # 指定模块

shell > mv /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so /usr/lib64/ # 将模块放到指定位置

shell > php -m | grep mcrypt             # 可以验证是否加载成功
mcrypt

shell > service httpd restart            # 重启 httpd 验证
原文地址:https://www.cnblogs.com/wangxiaoqiangs/p/5630370.html