PHP CURL 对于本地主机来说太慢了

Posted

技术标签:

【中文标题】PHP CURL 对于本地主机来说太慢了【英文标题】:PHP CURL is too slow for localhost 【发布时间】:2013-10-19 06:18:12 【问题描述】:

我在我的 WAMP 环境中设置了两个应用程序。两个站点的性能都还可以。他们在不到一秒的时间内返回数​​据。问题是当我从另一个站点卷曲一个站点时,卷曲大约需要 20 秒才能响应。我已经完成了分析。实际上 CURL 请求一直在占用。

这不应该是这种情况,因为这两个站点都是在我的机器上设置的,并且我正在使用 localhost/127.0.0.1 访问。是某种 DNS 解析问题吗?

【问题讨论】:

other 脚本是否需要 20 秒才能完成? system32\drivers\etc\hosts中是否添加了localhost? 请使用127.0.0.1代替localhost,请查看***.com/questions/9304645/php-curl-slowness 【参考方案1】:

如果您使用 *.local TLD,您可以通过在 hosts 文件中添加 IPv4 和 IPv6 条目来解决此问题并享受快速加载时间

127.0.0.1   test.local
::1         test.local

最好的

【讨论】:

为什么评论“将 TLD 更改为其他内容”会比这个简单、优雅、快速的答案更高。添加另一行,不要更改您的 TLD,一切都很快。谢谢里希特【参考方案2】:

我通过设置不同的虚拟主机(例如 sitea.dev 和 siteb.dev)解决了这个问题一个致命的 PHP 错误)。这不是 Curl 的问题,因为 file_get_contents(url) 给了我同样的问题。

【讨论】:

【参考方案3】:

是的,是 DNS 查找问题。

在 Windows 7 x64 上,我设法克服了这个问题

(本地主机中不同端口上的应用程序之间的卷曲调用) 通过编辑主机文件 ( C:\Windows\System32\drivers\etc )。

取消注释以下内容的行: 127.0.0.1 本地主机 , 重新启动然后你就完成了。

【讨论】:

我发现你不需要重启,hosts文件的改动就可以生效。 实际上对我来说只有在重新启动后才能工作!我也试过没有重新启动,但它没有用。 我明白了,所以至少在您第一次编辑 hosts 文件时,您应该重新启动。【参考方案4】:

我遇到了同样的问题,最后发现它来自两个事实:

    我使用 Mac OS X Mavericks 我通过 URL http://myproject.local/ 访问了我的项目,因为我在 /etc/hosts 中添加了一行 127.0.0.1 myproject.local

这是因为 .local tld 是为 Bonjour 服务保留的,这是从 Mac OS X Lion (10.7) 开始的。

将 tld 更改为其他内容可以解决问题。

【讨论】:

加一个,也解决了我的问题。谢谢 你是救命稻草。

以上是关于PHP CURL 对于本地主机来说太慢了的主要内容,如果未能解决你的问题,请参考以下文章

XAMPP 在 Windows 上的 PHP 运行速度太慢了 100 倍

带有数据库(mysql)的PHP在本地主机中加载太慢[关闭]

php curl在本地主机中不起作用

saveAll 对于只有一张表来说太慢了

BigQuery 连接对于小尺寸表来说太慢了

VS Code - 重命名符号对于 Python 来说太慢了