简介:
PHP 动态添加 Mcrypt 扩展库,这是一个支持多种加密、解密算法、模式的扩展库。
shell > php -m | grep mcrypt # 如果没有输出,就是缺少这个扩展 shell > cd /usr/local/src/php-5.5./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
[epel]
name=Extra Packages for Enterprise Linux - $basearch
baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch # 将该行注释取消
#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-/ shell > vim /usr/local/php/lib/php.ini # 编辑 php.ini
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
extension_dir = "/usr/lib64/" # 指定加载模块目录
extension = mcrypt.so # 指定模块 shell > mv /usr/local/php/lib/php/extensions/no-debug-non-zts-/mcrypt.so /usr/lib64/ # 将模块放到指定位置 shell > php -m | grep mcrypt # 可以验证是否加载成功
mcrypt shell > service httpd restart # 重启 httpd 验证