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 倍