Mcrypt在MacOS上缺少MAMP Pro 4

时间:2016-12-28 11:48:13

标签: php macos mamp mcrypt mamp-pro

早期版本的MAMP有很多关于这个问题的线索,但大多数线程可以追溯到2014年,现在是2016年,MAMP Pro版本为4。

我需要Mcrypt来获取遗留代码库/框架。使用MAMP Pro 4,您可以更改每台主机的PHP版本。在这种情况下,我正在运行5.5.38。

框架输出只是文本"需要Mcrypt PHP扩展。" - 当使用phpinfo()时,很清楚Mcrypt没有加载,因为没有Mcrypt的部分,但是它列在 Configure Command 下面:

info

文件>下的MAMP Pro 4上编辑模板> PHP(php.ini)> 5.5.38 有这一行:

--with-mcrypt=shared,/Applications/MAMP/Library'

所以一切似乎都井井有条,显然他们打算开箱即用 - 或者在版本升级之后,就像我的案例MAMP Pro 3.4> 4.0.6。

但为什么这不起作用?

注意!这个问题不是CLI PHP,而是Apache的主机PHP。

他们似乎在(2y ago)之前搞砸了PHP ini文件,导致类似的问题,很快就会提供修复:Mcrypt with Mamp Pro on Mac OS X Yosemite 10.10

其他信息:

extension=mcrypt.so

2 个答案:

答案 0 :(得分:4)

我与MAMP 4.1(454)有类似的问题。我正在MAMP上安装Joomla,但Joomla报告说mcrypt丢失了。

问题出在php.ini文件中。具体来说,在422行的/Applications/MAMP/bin/php/php7.1.0/conf/php.ini中:

extension_dir = "/Applications/MAMP/bin/php/php7.1.0/lib/php/extensions/no-debug-non-zts-20151012/"

但是,扩展目录没有" no-debug-non-zts-20151012"目录。相反,它有一个" no-debug-non-zts-20160303" 。目录

修复是编辑该行以更改" no-debug-non-zts-20151012" to" no-debug-non-zts-20160303"并在php.ini文件中的其他两个位置进行相同的更改。在进行了更改并重新启动MAMP服务器后,Joomla可以看到mcrypt和mcrypt出现在phpInfo页面上。

改变的差异是:

422c422
< extension_dir =       "/Applications/MAMP/bin/php/php7.1.0/lib/php/extensions/no-debug-non-zts-  20151012/"
---
> extension_dir = "/Applications/MAMP/bin/php/php7.1.0/lib/php/extensions/no-debug-non-zts-20160303/"
1155c1155
<      ;zend_extension="/Applications/MAMP/bin/php/php7.1.0/lib/php/extensions/no-debug-non-zts-20151012/opcache.so"
---
>    ;zend_extension="/Applications/MAMP/bin/php/php7.1.0/lib/php/extensions/no-debug-non-zts-20160303/opcache.so"
1164c1164
< ;zend_extension="/Applications/MAMP/bin/php/php7.1.0/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so"
---
> ;zend_extension="/Applications/MAMP/bin/php/php7.1.0/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so"

答案 1 :(得分:0)

我遇到了完全相同的问题。broken mycrypt

幸运的是升级到MAMP 4.1.1为我修好了。