mcrypt 扩展已经过时了大约 10 年,并且用起来很复杂。因此它被废弃并且被 OpenSSL 所取代。从 PHP 7.2 起它将被从核心代码中移除并且移到 PECL 中。本文讲述如何在 Linux 下安装 PECL 扩展 Mcrypt。
查看已安装模块
执行命令:/usr/local/php/bin/php -m
或 php -m
可以查看已经安装的模块。
注意:安装完 LNMP,PHP 源码都是自动删除的,需要自己进入 src
目录下解压缩。
首先找到 LNMP 的解压目录,比如我安装的是 LNMP1.5,解压目录就在 /root/lnmp1.5/src
下面。
执行 tar xjf php-7.2.8.tar.bz2
命令解压缩 PHP 文件。
如何为 PHP 7.2 安装 mcrypt 扩展
以 root 身份运行以下命令:
cd /root/lnmp1.5/src/php-7.2.8/ext
/usr/local/php/bin/pecl channel-update pecl.php.net
/usr/local/php/bin/pecl download mcrypt || /usr/local/php/bin/pecl download channel://pecl.php.net/mcrypt-1.0.1
tar -zxvf mcrypt-*.tgz && cd mcrypt-*/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
执行完返回:
Build complete.
Don't forget to run'make test'.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/
表示已经成功,再修改/usr/local/php/etc/php.ini
查找:extension_dir
再下面一行添加上extension = "mcrypt.so"
保存,执行/etc/init.d/php-fpm restart
重启。
现在测试一下:
/usr/local/php/bin/php -i | grep ^mcrypt
你应该看到类似的输出:
mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value
正文完