#进入解压缩目录
[root@CncLucZK src]# cd mhash-0.9.9.9
#没有指定安装位置。因为在mcrypt包安装时,会在默认位置查找mhash包,如果指定了安装位置,那么mcrypt包在安装时会报错
[root@CncLucZK mhash-0.9.9.9]# ./configure
...
config.status: creating include/mutils/mhash_config.h
config.status: executing depfiles commands
#编译
[root@CncLucZK mhash-0.9.9.9]# make
#编译安装。把安装过程保存在mhash_install.log文件中,便于删除
[root@CncLucZK mhash-0.9.9.9]# make install >> /root/mhash_install.log
#进入源码目录
[root@CncLucZK ~]# cd /usr/local/src/mcrypt-2.6.8
#LD_LIBRARY_PATH用于指定libmcrypt和mhash库的位置
#./configure为编译前准备命令,——with-libmcrypt-prefix用于指定libmcrypt软件位置
[root@CncLucZK mcrypt-2.6.8]# LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/lib ./configure --with-libmcrypt-prefix=/usr/local/libmcrypt
#编译
[root@CncLucZK mcrypt-2.6.8]# make
#编译安装
[root@CncLucZK mcrypt-2.6.8]# make install
注意,在这里 mcrypt 并没有安装完成。因为mcrypt是PHP自带的Pecl扩展,所以只要去PHP的解压缩目录去找mcrypt包即可。
这一点区别于PHP安装第三方扩展,所以需要等到 PHP 安装完成之后,再继续安装。
1.扩展包的编译安装:到/usr/local/src/php-5.4.25/ext/mcrypt等扩展路径下用/usr/local/php/bin/phpize的命令加载到php环境中,这个目录下有很多自带的扩展源码,缺少什么扩展只需要进入这个扩展目录下,再运行Phpize即可。命令如下:
#再php-8.0.0/ext的扩展包下没有这个mcrypt模块,所以需要将php-5.4.25/ext/mcrypt
[root@CncLucZK ~]# cd /usr/local/src/php-5.4.25/ext/mcrypt
#使用phpize加载PDO模块
[root@CncLucZK mcrypt]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20200930
Zend Module Api No: 20200930
Zend Extension Api No: 420200930#编译前配置:指定php-config文件的位置,调用libmcrypt
[root@localhost mcrypt]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mcrypt=/usr/local/libmcrypt
#编译安装
[root@localhost mcrypt]# make && make install
2.修改PHP配置文件:要让 PHP 可以识别和使用 memcache 和 mcrypt 模块,还需要修改一下 PHP 的配置文件,命令如下:
[root@localhost mcrypt]# vi /usr/local/php/etc/php.ini
#修改PHP配置文件
extension_dir = "./"
#在这个文件中找到这句话,把它改为以下这句话
extension_dir="/usr/local/php/lib/php/extensions/no-debug-zts-20200930/"
#新加入以下两句话
extension="memcache.so";
extension="mcrypt.so";
安装完成之后,重启 apache,就可以在 phpinfo 页面中看到这两个模块了。
./configure \
--with-mcrypt \
--with-mhash
最后进行编译安装 make && make install