如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

苏南大叔想实验一下最新版本的某知识分享源码,但是居然被提示,需要开启mcrypt扩展。phpstudy里面没带这个扩展,宝塔面板里面php72也默认没有这个扩展。没辙,只好选择手工编译这个mcrypt扩展了。名字挺眼熟的,估计在以前的php里面,是标配吧。

顺便ps一下:php7.2.4php源码的ext目录里面,也没有这个mcrypt扩展,估计也许是被世界都遗忘了吧。本文的测试环境是:centos7.5 + 宝塔面板 + php724

centos,php72如何编译安装mcrypt扩展 - 000

下载扩展源码

网上的教程里面,都是说要到https://sourceforge.net/下载三个不同的源码:Libmcrypt,mhash,mcrypt

不过,苏南大叔,没有这么操作,是在pecl网站这里下载的mcrypt,也编译成功了。可能是苏南大叔的centos服务器上面已经安装了相关类库了吧。

pecl网站上面的mcryptsourceforge上的mcrypt,应该是两个东西。sourceforge上的mcrypt,应该是本尊。pecl网站上面的mcrypt,应该只是个dll包装。

centos,php72如何编译安装mcrypt扩展 - 001

编译源码

苏南大叔cd到上述源码根目录下面后,因为目标php环境是宝塔面板的php72,所以,下面的命令中,会有所体现相关路径。请注意替换相关路径,到您的真实php路径。

centos,php72如何编译安装mcrypt扩展 - 002

/www/server/php/72/bin/phpize
./configure --with-php-config=/www/server/php/72/bin/php-config
make && make install

centos,php72如何编译安装mcrypt扩展 - 003

centos,php72如何编译安装mcrypt扩展 - 004

centos,php72如何编译安装mcrypt扩展 - 005

编译完成后,我们就可以在对应扩展目录下面,看到编译好的mcrypt.so文件了。

cd /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/
ls

centos,php72如何编译安装mcrypt扩展 - 006

启用mcrypt.so

php.ini中启用mcrypt.so即可。注意,编译好之后,需要重启php-fpm才能生效。

vi /www/server/php/72/etc/php.ini
extension=mcrypt.so

centos,php72如何编译安装mcrypt扩展 - 007

最终效果

我们在phpinfo里面,看到的截图,如下图所示:mcrypt版本号为2.5.8,这个版本号应该指的是libmcrypt的版本号。

centos,php72如何编译安装mcrypt扩展 - 099

相关连接

小结

php的扩展编译过程,基本上套路都差不多,个别有所差异。只要找到对的源码,以及相关的关联lib扩展,开启相关扩展,还不是太大问题。

苏南大叔提示您:更多php相关文章,请点击这里查看。https://newsn.net/tag/php/

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。