今天升级了 MAMP 到 4.1 版本,但是 MAMP / MAMP Pro 升级到 4.1 版本之后会提示 Mcrypt 等 extension 都提示未安装的异常。重新安装了之后问题还是存在,查看了它的模块路径下,可以看到 Mcrypt 文件,并且也可以看到有 --with-mcrypt=shared 的正常参数,然后又查看了 MAMP 的 Apache-php 的配置文件 php.ini ,同样也存在 extension=mcrypt.so 这一行未被注释。
打开空文件,查看 phpinfo() 也可以看到 Mcrypt 模块存在,但是 Mcrypt 的模块没有详细信息。这让我猜测是模块没有被成功载入。于是我又尝试了一些其它的 Memcache 等模块发现同样无法正常载入。
再次检查 php.ini 后发现,引入模块目录的路径为
extension_dir = "/Applications/MAMP/bin/php/php7.1.0/lib/php/extensions/no-debug-non-zts-20151012/"
然而,高能的部分是,这个路径不存在,然后到上层目录才发现,实际模块路径为
/Applications/MAMP/bin/php/php7.1.0/lib/php/extensions/no-debug-non-zts-20160303/
修改了这个路径之后,重启 MAMP 就可以正常使用基本的自带模块了。这次 MAMP 开发组犯的错误有点傻。