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