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

与OS X PHP相比,CLI MAMP PHP运行缓慢,php,command-line-interface,mamp,Php,Command Line Interface,Mamp,我刚开始遇到一个MAMP PHP运行速度非常慢的问题。我重新安装了MAMP,但仍有问题 作为比较(我想我的本地开发OSX机器可能有问题),我在终端中尝试了以下操作,并使用-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运行速度非常慢的问题。我重新安装了MAMP,但仍有问题

作为比较(我想我的本地开发OSX机器可能有问题),我在终端中尝试了以下操作,并使用
-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更新)

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

更新


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

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

通过谷歌搜索,我找到了导致问题的分机。我注释掉了.ini文件中的以下行

; extension=imap.so

如其他回复所示,速度减慢是由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捕获网络流量发现了这一点。

问这个问题的地方错了。在ServerFault姐妹页面上试一试。我不同意——“关于服务器故障的问题必须是关于在业务环境中管理信息技术系统的。家庭和最终用户计算问题可以在超级用户上提出,关于开发、测试和开发工具的问题可以在堆栈溢出上提出。”-这是关于我的开发环境的,所以肯定属于这里?啊,对不起,通常使用灯堆栈(或类似)来创建与业务相关的解决方案。记住,商业并不意味着商业。这当然是你的决定。我只是想你会得到更快更好的回复。好的,谢谢。我将把它保留在这里,因为服务器故障更多地与生产服务器相关。我说的是我运行MAMP的开发笔记本电脑。减速快把我逼疯了@arkascha:产品名称和MAMP/XAMPP等都是开发工具,与标准的LAMP stack不同,它们实际上在SF.me上也是离题的。在注释imap.so之后,问题解决了。但我不知道为什么。有什么线索吗?是的,它试图对本地主机名进行DNS查找。将相关条目添加到/etc/hosts文件可以在不禁用模块的情况下解决问题。