centos 环境,php72 如何编译安装 mcrypt 扩展
发布于 作者:苏南大叔 来源:程序如此灵动~苏南大叔想实验一下最新版本的某知识分享源码,但是居然被提示,需要开启mcrypt
扩展。phpstudy
里面没带这个扩展,宝塔面板里面php72
也默认没有这个扩展。没辙,只好选择手工编译这个mcrypt
扩展了。名字挺眼熟的,估计在以前的php
里面,是标配吧。
顺便ps一下:php7.2.4
的php
源码的ext
目录里面,也没有这个mcrypt
扩展,估计也许是被世界都遗忘了吧。本文的测试环境是:centos7.5
+ 宝塔面板
+ php724
。
下载扩展源码
网上的教程里面,都是说要到https://sourceforge.net/
下载三个不同的源码:
Libmcrypt
mhash
mcrypt
不过,苏南大叔没有这么操作,仅仅是在pecl
网站这里下载的mcrypt
,也编译成功了。可能是苏南大叔的centos
服务器上面已经安装了相关类库了吧。下载地址是:
pecl
网站上面的mcrypt
和sourceforge
上的mcrypt
,应该是两个东西。sourceforge
上的mcrypt
,应该是本尊。pecl
网站上面的mcrypt
,应该只是个dll
包装。
编译源码
苏南大叔cd
到上述源码根目录下面后,因为目标php
环境是宝塔面板的php72
,所以,下面的命令中,会有所体现相关路径。请注意替换相关路径到您真实的php
路径。如果没有正确cd
到mcrypt-1.0.1
源码根目录的话,就可能会看到如下错误提示:
Cannot find config.m4.
/www/server/php/72/bin/phpize
./configure --with-php-config=/www/server/php/72/bin/php-config
make && make install
编译完成后,我们就可以在对应扩展目录下面,看到编译好的mcrypt.so
文件了。
cd /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/
ls
启用mcrypt.so
在php.ini
中启用mcrypt.so
即可。注意,编译好之后,需要重启php-fpm
才能生效。
vi /www/server/php/72/etc/php.ini
extension=mcrypt.so
最终效果
我们在phpinfo
里面,看到的截图,如下图所示:mcrypt
版本号为2.5.8
,这个版本号应该指的是libmcrypt
的版本号。
相关连接
- 《centos,php71如何编译安装tidy扩展》
https://newsn.net/say/centos-php71-tidy.html
- 《centos,php72如何编译安装yaml扩展》
https://newsn.net/say/centos-php72-yaml.html
注意事项
190616更新:可能php72
是最后一个支持mcrypt.so
的版本,php73
下,即使编译成功,也依然没能生效。
小结
php
的扩展编译过程,基本上套路都差不多,个别有所差异。只要找到对的源码,以及相关的关联lib
扩展,开启相关扩展,还不是太大问题。
苏南大叔提示您:更多php
相关文章,请点击这里查看:
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
支持苏南大叔