php中,有个非常神秘的mcrypt扩展,主要就是一些很高度大气上档次的加密方式的合集。未来使用这些高端加密算法,就需要获得mcrypt扩展,坏消息就是:这个扩展需要编译。而编译php扩展一般来说,都是比较痛苦的。

在以前的经验文字中,苏南大叔曾经在centos系统下的php72上编译过这款mcrypt,那么在mac系统上,这个过程是否是一致的呢?本篇文章将为您揭晓答案:在mac系统上安装mcrypt的详细操作步骤。

苏南大叔:mac系统,php72如何安装mcrypt扩展? - php-mcrypt-hero
mac系统,php72如何安装mcrypt扩展?(图9-1)

本文测试环境:mac/php@72/mcrypt@1.0.2。当然,本文中的测试环境是php72,估计其它版本的php也会适用,大家不必纠结于72这个字样。

brew安装libmcrypt

centos系统下做类似操作的时候,苏南大叔并没有主动安装libmcrypt。但是在mac系统中,却可能在后续的操作中,被提示需要安装libmcrypt。所以,本步骤就是个补充操作。如果您的编译过程提示来缺少libmcrypt的错误信息,那么就使用brew安装一下吧!操作非常的简单。

报错信息如下:

checking if zts is enabled... no
checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
checking for gawk... no
checking for nawk... no
checking for awk... awk
checking if awk is broken... no
checking for mcrypt support... yes, shared
configure: error: mcrypt.h not found. Please reinstall libmcrypt.

解决方案如下:

brew install libmcrypt

苏南大叔:mac系统,php72如何安装mcrypt扩展? - brew-install-libmcrypt
mac系统,php72如何安装mcrypt扩展?(图9-2)

如果您碰到了卡住Updating Homebrew的问题,可以执行:

export HOMEBREW_NO_AUTO_UPDATE=true

详细描述见下面这篇文章:

下载mcrypt扩展源码

phpmcrypt扩展源码下载地址是:

截至到发稿,最新的mcrypt扩展的版本号是:1.0.2

苏南大叔:mac系统,php72如何安装mcrypt扩展? - mcrypt-source
mac系统,php72如何安装mcrypt扩展?(图9-3)

编译php72mcrypt扩展

下载好mcrypt代码后,进入源码根目录,常规的扩展编译过程即可,命令如下:

phpize
./configure
make && make install

苏南大叔:mac系统,php72如何安装mcrypt扩展? - mcrypt-phpize
mac系统,php72如何安装mcrypt扩展?(图9-4)

苏南大叔:mac系统,php72如何安装mcrypt扩展? - mcrypt-configure
mac系统,php72如何安装mcrypt扩展?(图9-5)

不出意外的话,就可以顺利得到个mcrypt.so的扩展文件。路径为:

/usr/local/etc/php/7.2/mcrypt.so

苏南大叔:mac系统,php72如何安装mcrypt扩展? - mcrypt-make
mac系统,php72如何安装mcrypt扩展?(图9-6)

如果出了意外的话,可能的情况就是:

  • 系统里面有多个phpphpize可执行文件版本不匹配。解决方法就是主动指明全路径,或者修正phpize的默认路径。
  • mac系统里面没有安装libmcrypt,请参照上一条内容解决这个问题。

编辑php.ini文件

如何查找php.ini文件,可以参见下面这篇文章:

找到php.ini文件后,请编辑添加如下语句:

extension=mcrypt.so

苏南大叔:mac系统,php72如何安装mcrypt扩展? - mcrypt-so
mac系统,php72如何安装mcrypt扩展?(图9-7)

重启php生效.

brew services restart php

苏南大叔:mac系统,php72如何安装mcrypt扩展? - restart-php
mac系统,php72如何安装mcrypt扩展?(图9-8)

再次查看phpinfo()语句就可以看到:mcrypt扩展已经生效了。

苏南大叔:mac系统,php72如何安装mcrypt扩展? - mcrypt-phpinfo
mac系统,php72如何安装mcrypt扩展?(图9-9)

相关链接

《centos 环境,php72 如何编译安装 mcrypt 扩展》

总结

从编译的套路上来看,centosmac的编译方案基本一致,略有不同。注意libmcrypt的安装即可,其它的操作都是常规的扩展编译行为。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【加群】加入QQ群【175454274】和大家一起讨论这个问题

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

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

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