Mamp本地主机名解析非常缓慢

13

当我对我的PHP/WordPress网站进行本地更改时,本地主机似乎在20-30分钟内没有更新。

我正在使用Mac OSX 10.8.4和MAMP Pro。我有两个网站,为它们创建了单独的主机条目,让我们称它们为mysite1.devmysite2.dev

这是我的MAMP服务器配置:

Apache: 80
MySQL: 3306
SSL: 443

我看到了这篇文章(如何消除Mac OS X Lion上本地主机/虚拟主机的缓慢解析/加载问题(需要 2-3 秒)?),其中提到了Bonjour冲突,并遵循该文章的建议编辑了我的/private/etc/hosts文件:

  1. 我将主机名从mysite1.localhost更改为mysite.dev,因为似乎是与.local名称有冲突 - 没有起作用

  2. 我更新了Hosts文件以具有单独的::1地址 - 没有起作用:

    ::1 <tab> mysite1.dev
    ::1 <tab> mysite2.dev
    
    我尝试将所有主机条目放在一行上 - 也没有起作用:
  3. 127.0.0.1 localhost mysite1.dev mysite2.dev
    ::1 localhost
    fe80::1%lo0 localhost
    
    似乎MAMP Pro每次重启服务器时都会覆盖hosts文件。

    如果你能提供任何帮助,我将不胜感激。

我不确定这是否有帮助,但这是一个建议 :-) 尝试清除您的浏览器附加的所有缓存。同时尝试完全重新安装您的MAMP服务器。记得备份。 - Daniel
发现了这个..看看吧..不知道是否有帮助,如果有我很高兴 :-) - Daniel
这听起来像是WordPress缓存问题,而不是数据库问题。您是否查看了WordPress数据库,以查看内容更改是否已应用?下一步:关闭插件以隔离问题。 - tadman
在MAMP中将php升级到5.5版本后,由于某种不明原因,OPCache默认启用。这会导致服务器返回缓存版本的页面而不是新版本(包含您的更改)。我按照此线程中的说明禁用了OPCache。 - rantebi
12个回答

17

将MAMP缓存更改为OPcache。对我起了作用 在此输入图片描述


10
在开发过程中使用OPcache不是个好主意。通常情况下,你需要在开发过程中禁用所有缓存,否则你必须等待很长时间才能看到网站上最新的更改。 - leymannx

7
我遇到了同样的问题,并在这篇文章中找到了解决方案:MAMP time between seeing live changes 我按照以下步骤进行操作:
解除 php.ini 文件中的注释,该文件可以在以下位置找到:
/{MAMP Directory}/bin/php/php5.5.3/conf/php.ini

注释掉Opcache:

[OPcache]
;zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
;  opcache.memory_consumption=128
;  opcache.interned_strings_buffer=8
;  opcache.max_accelerated_files=4000
;  opcache.revalidate_freq=60
;  opcache.fast_shutdown=1
;  opcache.enable_cli=1

文档(是的,它在5.5中开始了):

http://www.php.net/manual/zh/intro.opcache.php


2
在开发过程中使用OPcache实际上不是一个好主意。虽然您的网站可能会加载得更快,但您必须更频繁地点击重新加载,直到您看到所做的当前更改。 - leymannx

4
自从我在本地环境中使用SSL(感谢Salesforce API)后,我一直在为此问题而苦苦挣扎,最终找到了适合我的解决方案。

Disable Xdebug

关闭Xdebug后,TTFB从25秒降至2秒。天哪。

1
对于那些正在寻找的人,这可以在屏幕左侧的“PHP”选项卡下找到。 - user791187
谢谢!在我的情况下,根本没有响应。在我的 PHPStorm 中禁用 PHP 调试监听解决了这个问题。 - MrTomAsh

3
对我而言,将 MAMPS 标准端口设置更改回来就可以解决问题了。

3

我曾经遇到过类似的问题,当时运行php 5.5.3版本时出现了问题。后来我改回了5.4.19版本,问题得以解决。

您可以在MAMP GUI中更改版本。您可能需要将5.5.3文件夹重命名为5.5.X,才能在GUI中显示5.4.19版本。这些php文件夹位于:Applications/MAMP/bin/php


3

我曾经遇到过同样的问题,我添加了以.local结尾的虚拟主机,导致查找延迟了5秒。

为了解决这个问题,我更新了主机文件。

sudo nano /etc/hosts

我已经添加了我的网站IPv6地址,以及::1127.0.0.1

::1             mysite.local
127.0.0.1       mysite.local
fe80::1%lo0     mysite.local

2
我遇到的解决方法是像@tammy-shipps提到的那样关闭Xdebug。但是,由于我使用的是普通的MAMP版本,因此我必须在这里找到的php.ini文件中关闭Xdebug:

/{MAMP Directory}/bin/php/{PHP Version}/conf/php.ini

然后将 xdebug.remote_enable 从1更改为0:

xdebug.remote_enable=0

与其他提出的解决方案不同,关闭缓存或更改端口对问题没有影响。

已在我的php.ini中禁用。服务器仍然非常缓慢。 - Khom Nazid
1
谢谢!!!我多年来一直在使用极其缓慢的MAMP Pro,随机更改设置以寻找任何有帮助的东西。这个方法真的很有效!速度快多了。干杯! - Douglas McDonald

1
将xdebug.remote_host设置为127.0.0.1而不是"localhost",解决了我的问题。这样可以跳过IPV6解析,从而避免延迟。
关闭remote_enable不是一个选项,因为它会导致PHPStorm中的调试停止:
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1

这个有效!(或像Frank建议的那样完全禁用)。谢谢。 - Douglas McDonald

1

这真的很困难,但我找到了一个在我的环境中起作用的解决方案:

  • MAMP 4.2.1
  • PHP 5.6.31

“SETTINGS”菜单 > 端口设置 > 运行服务器作为: > 将其更改为“Unix用户”选项。

enter image description here


我做了这个,现在当我浏览任何页面时,它会显示“...不可被PHP写入。请修复它。” 如果有的话,你还做了什么? - Steven Thate
嘿@StevenThate。除了权限问题,我什么都没有做。由于答案是一年前的,我会寻找孤立的错误,因为您可能在使用新的Mac OS或MAMP版本。顺便说一句,这似乎是一个权限错误,请尝试重置您网站上的权限。 - M_iserte
谢谢。结果发现将MAMP从5.1更新到5.4解决了我的性能问题。 - Steven Thate
我使用的是Mac Big Sur,我尝试了这个方法,虽然页面加载很快,但由于Apache没有权限写入PHP代码指定的日志文件,所以失败了。由于我使用许多我大部分都没有编写的存储库,我不想深入研究这个问题,因此我会切换回去,直到找到更好的解决方案。 - SteveExdia

1
MAMP的默认端口是非标准的。当我切换到标准端口(Apache的80端口和SSL的443端口)时,速度显著提升。
我不确定Paul Bakker是否也这样做了,或者他是反过来切换的。
我使用的是MAMP Pro 4.2、PHP 7.1.6、Apache和OS X 10.11.6。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接