在Windows 7上非常慢的Apache

时间:2010-06-29 13:38:30

标签: php apache windows-7

最简单的脚本:

<?php echo 'hello';

大约需要3秒钟才能执行。在Apache服务于网页之前,似乎有很长的时间间隔。

我尝试关闭防病毒软件,禁用ipv6等等,但Apache仍然很慢。我该怎么办?

编辑:

其他信息:

  • Apache 2.2
  • PHP 5.2
  • 这只是动态PHP文件。立即提供静态文件(html)
  • 它与系统规格无关,它是新PC

Apache错误日志中几乎没有PHP通知:

[Thu Jul 01 08:37:21 2010] [error] [client 127.0.0.1] PHP Notice:  Undefined variable: ref in D:\\data\\o\\WebProjects\\elearning\\application\\modules\\clientarea\\controllers\\ViewController.php on line 578, referer: http://elearning/clientarea/view/course/teid/1/cid/1

7 个答案:

答案 0 :(得分:13)

通常建议此问题是由您的防火墙干扰或在您的网络接口上启用IPv6引起的,但这些解决方案并未解决我的问题。事实证明,默认情况下Windows 7主机文件“C:\ Windows \ System32 \ drivers \ etc \ hosts”已将此行注释掉:

# 127.0.0.1 localhost

在我的情况下,简单地取消注释这一行就将localhost性能改回原来的状态,而不是每次加载页面时令人讨厌的3-5秒等待。请记住,您需要运行具有管理员权限的文本编辑器来编辑hosts文件。

答案 1 :(得分:5)

我有同样的问题。修改主机文件并没有提高页面加载速度。经过几个小时的搜索,我终于找到了解决方案。

我更改了我的httpd.conf文件,以便将监听地址绑定到一个IP地址而不是所有可用接口:

#Listen 80
Listen 127.0.0.1:80

现在所有的网页都是即时加载而不是~10秒。

希望得到这个帮助。

编辑:实际上它没有解决问题,它仍然是随机慢。 我不得不承认,我最终将我的网络服务器移到了一个Linux虚拟机上,我再也没有观察到任何响应时间慢。

答案 2 :(得分:3)

我正在使用Laravel Framework,对我有用的是在php.ini中更改指令realpath_cache_size = 1M。它将加载时间从3秒改为半秒!

  

realpath_cache_size = 1M

答案 3 :(得分:0)

在我的情况下,默认情况下,标准文档root C:\PathToApache\htdocs与本地网络上的其他用户共享。通过禁用共享该目录,我提高了很多Apache的性能。现在每个请求都需要不到一眨眼。

我希望这将有助于所有未来的读者

答案 4 :(得分:0)

纯粹是为了帮助那些遇到Apache在Windows上遇到这种困境的人,我通过在::1 localhost中评论C:\Windows\System32\drivers\etc\hosts并添加127.0.0.1 127.0.0.1来解决这个问题。

我发现我不得不在Windows服务中重新加载Apache,因为我的网站会逐渐响应越来越慢。

未共享Apache htdocs文件夹,更改Listen ...中的httpd.conf行似乎无法正常工作,我已经拥有了127.0.0.1 localhost行我的C:\Windows\System32\drivers\etc\hosts文件,但::1 localhost行直接位于其下方。

正如@Erwinus在对帖子的评论中所建议的那样,我注释掉了这一行,并从this post添加了行127.0.0.1 127.0.0.1。服务器响应时间似乎已大幅改善。

答案 5 :(得分:0)

唯一帮助我的是取消勾选框'在网络适配器的ipv4参数中注册dns'中的此连接地址,DNS设置下的按钮 - &gt;降低两个复选框。

答案 6 :(得分:-9)

使用任务管理器杀死不必要的进程。

顺便说一句,您应该使用?>结束脚本。