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

centos 环境,php72 如何编译安装 mcrypt 扩展 - php-mcrypt
centos 环境,php72 如何编译安装 mcrypt 扩展(图10-1)

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

下载扩展源码

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

  • Libmcrypt
  • mhash
  • mcrypt

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

centos 环境,php72 如何编译安装 mcrypt 扩展 - 000
centos 环境,php72 如何编译安装 mcrypt 扩展(图10-2)

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

centos 环境,php72 如何编译安装 mcrypt 扩展 - 001
centos 环境,php72 如何编译安装 mcrypt 扩展(图10-3)

编译源码

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

centos 环境,php72 如何编译安装 mcrypt 扩展 - 002
centos 环境,php72 如何编译安装 mcrypt 扩展(图10-4)

/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 扩展(图10-5)

centos 环境,php72 如何编译安装 mcrypt 扩展 - 004
centos 环境,php72 如何编译安装 mcrypt 扩展(图10-6)

centos 环境,php72 如何编译安装 mcrypt 扩展 - 005
centos 环境,php72 如何编译安装 mcrypt 扩展(图10-7)

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

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

centos 环境,php72 如何编译安装 mcrypt 扩展 - 006
centos 环境,php72 如何编译安装 mcrypt 扩展(图10-8)

启用mcrypt.so

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

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

centos 环境,php72 如何编译安装 mcrypt 扩展 - 007
centos 环境,php72 如何编译安装 mcrypt 扩展(图10-9)

最终效果

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

centos 环境,php72 如何编译安装 mcrypt 扩展 - 099
centos 环境,php72 如何编译安装 mcrypt 扩展(图10-10)

相关连接

  • 《centos,php71如何编译安装tidy扩展》

https://newsn.net/say/centos-php71-tidy.html

  • 《centos,php72如何编译安装yaml扩展》

https://newsn.net/say/centos-php72-yaml.html

小结

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

苏南大叔提示您:更多php相关文章,请点击这里查看:

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

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   php    centos

本站的忠实读者小伙伴,正在阅读下面这些文章:

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!