MAC LOCALHOST - Apache 在解析本地主机之前等待 60 秒

问题描述 投票:0回答:1

我最近使用 Homebrew (Apache/PHP) 在本地主机环境中设置了运行 Ventura 的 Macbook Pro M1。除了远程 MySQL 数据库外,我网站上的所有内容都是本地的。我使用本地主机 (http://localhost) 作为我的 URL。

我知道数据库正在连接,因为当页面最终加载时,我正在从中获取数据。

该站点需要很长时间才能加载,并且几个 AJAX 调用最终超时并失败,导致本地主机几乎无用。

没有 Apache 错误。没有 PHP 错误。浏览器控制台中没有错误。

然而,我确实在浏览器控制台的“网络”选项卡中注意到本地主机在开始加载页面之前需要 60 秒。这对于为什么它这么慢以及为什么 AJAX 调用失败是有道理的(因为它们在初始化后也必须等待整整 60 秒)。请参阅随附的屏幕截图。

这可能是什么原因造成的?

php macos apache localhost timeout
1个回答
0
投票

在向浏览器提供页面内容之前,本地代码可能会查询 MySQL 数据库。此查询似乎正在等待 DNS 超时以查找您地址的 PTR。

要解决此 DNS 超时,请要求您的 MySQL 数据库主机禁用反向 DNS

要禁用 DNS 主机名查找,请在启用 skip_name_resolve 系统变量的情况下启动服务器。在这种情况下,服务器仅使用 IP 地址而不使用主机名来将连接主机与 MySQL 授权表中的行相匹配。只能使用在这些表中使用 IP 地址指定的帐户。 (如果不存在指定客户端 IP 地址的帐户,则客户端可能无法连接。)

© www.soinside.com 2019 - 2024. All rights reserved.