CLI MAMP PHP与OS X PHP相比运行缓慢


CLI MAMP PHP running slowly compared to OS X PHP

我刚开始遇到MAMP PHP运行速度非常慢的问题。我重新安装了MAMP,但仍然存在问题。

作为比较(我想我的本地开发OS X机器可能有问题),我在终端中尝试了以下操作,并用-n 禁用了php.ini

/usr/bin/php --version -n

这会立即返回一个输出。

/Applications/MAMP/bin/php/php5.5.14/bin/php --version -n 

这将在大约3-5秒后返回输出。

我试过运行许多其他命令和脚本。使用MAMP PHP,所有这些似乎都有3-5秒的延迟。

我尝试过其他MAMP PHP版本,但它们仍然存在相同的问题。

我想不出最近我的机器上有什么变化会导致这种速度减慢(例如,没有php.ini更改,没有OSX更新)

我真的不知道是什么导致了这个问题,甚至不知道如何进一步调查。非常感谢您的帮助。

更新

奇怪的是,问题似乎只是在命令行中运行MAMPPHP时才出现。当使用MAMP加载网站时,不会出现速度减慢的情况。更令人困惑的是。。。

如其他回复所示,速度减慢是由imap.so扩展引起的。

不过,深入研究一下,原因似乎是它试图对本地机器的主机名执行DNS查找。

将您的主机名添加到/etc/hosts文件应该可以修复它:

me@mbp ~> hostname 
mbp.local
cat /etc/hosts
...
127.0.0.1     mbp.local
::1           mbp.local
...

之前:

me@mbp ~> time php -v
PHP 7.0.12 (cli) (built: Oct 24 2016 18:49:11) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
        **5.04 real**         0.01 user         0.01 sys

之后:

me@mbp ~> time php -v
PHP 7.0.12 (cli) (built: Oct 24 2016 18:49:11) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
        **0.03 real**         0.01 user         0.00 sys

我通过使用Wireshark捕获网络流量发现了这一点。

已解决。由于某种原因,-n没有删除.ini文件。删除.ini文件完全解决了这个问题。

一些谷歌搜索让我找到了导致这个问题的扩展。我在.ini文件中注释掉了以下行

; extension=imap.so