WAMP 运行非常缓慢

30

我正在使用Windows 7上的WAMPlocalhost)。

当我运行localhost时,页面加载需要超过1分钟。没有查询或数据库连接。如果只是一个HTML页面,也需要相同的时间,但如果联网则正常工作。 如果联网,则可以完美运行。如果没有网络,加载一个简单页面需要超过1分钟。

我该如何解决这个问题?


3
你的HTML页面里肯定有需要联网的元素。比如说JS外部文件、社交媒体小组件(Facebook、Twitter等)、图片等等。 - lorenzo-s
看一下关系部分,那里讨论了类似的问题。 - Aurimas Ličkus
页面是��包含外部链接或从外部链接获取图像/块/JS? - swapnesh
他并没有说加载时间超过1分钟后页面崩溃,只是加载时间很长。 - Gavriel
1
可能是wamp/xampp本地主机响应非常慢的重复问题。 - madth3
这里有一篇优秀的答案 - https://www.devside.net/wamp-server/wamp-is-running-very-slow - T.Todua
22个回答

50

对我起作用的解决方案是禁用 cgi_module。使用以下方法之一:

(方法1) 左键单击 WAMP > Apache > Apache 模块 > 取消选中"cgi_module"

(方法2) 编辑 httpd.conf 并通过注释此行来禁用 CGI 模块的加载:

LoadModule cgi_module modules/mod_cgi.so

添加注释只需在前面加上#,就像这样:

#LoadModule cgi_module modules/mod_cgi.so

重新启动Apache服务,然后就可以正常运行。

我建议也这样做。 - David Fregoli
我认为这有所帮助。不确定,但似乎有所改善。 - Syntax Error
也适用于我!谢谢!(WAMPSERVER 3.1.3 64位) - BlueDev
如果我正在使用Python,我能否禁用mod_cgi.so?突然间我的应用程序变得很慢。 - niran

32

3
哇,谢谢!这对我非常有效!从渲染一个包含一些HTML、CSS和MySQL连接(没有查询)的简单页面,耗时从1.04秒减少到了0.02秒。真是相当大的改进! - Chris Clower
确认!从需要10秒的加载时间到立即完成。再也不会使用本地主机了... - Andy
我的控制台日志时间从1分5秒降至129毫秒。谢谢。 - codelogn
这对我有用!谢谢,伙计...我已经试图追踪这个问题几个月了。 - Tspesh
这个在哪里改变? - Shawn

17

我尝试了这里很多答案,但并没有取得太大的成功。瓶颈出现在PHP本身上。我禁用了Xdebug,页面加载时间从约1200毫秒降至约275毫秒。这是单个性能提升中最大的部分。


1
同样的情况也适用于Zend Debugger。它会在Windows 10上使我的Apache变慢5-10倍。 - wmac
我禁用了xdebug并将数据库主机更改为127.0.0.1。现在我的本地主机速度提高了20倍!非常感谢。 - Imtiaz
使用Laravel处理大请求在Win7上对我来说是一个巨大的收获,仅通过禁用Xdebug,响应时间从13秒降至3秒。 - Mohamed Gharib

8
使用IP地址而不是“localhost”作为MySQL连接字符串中的主机名。
通常,WAMP安装在 C:\wamp下。 使用记事本编辑此文件:
C:\wamp\www\wp-config.php

替换

define("DB_HOST", "localhost");

使用

define("DB_HOST", "127.0.0.1");

重新启动WAMP服务。

您可以在此网站查看更多详细信息。


除此之外,没有任何其他方法适用于我,但这个解决方案非常有效。 - StudentX
我认为你在谈论WordPress配置。问题是关于WAMP的。 - Michiel van der Blonk
该链接(www.boonigo.com)已经完全失效。 - Peter Mortensen

3
以下是我在Windows 10 Pro 64位系统中加快WAMP速度所做的更改列表:
  1. 编辑hosts文件并添加:127.0.0.1 localhost
  2. 编辑hosts文件并添加:127.0.0.1 myVhosts(注:我将所有其他条目都添加到了与第一个条目相同的行中,我不会创建多个指向不同位置的127.0.0.1的行。因此,我只有一个127.0.0.1,然后紧接着它,是任何想要指向它的虚拟主机或其他任何内容)
  3. 编辑my.ini并添加:bind-address="127.0.0.1"(在[wampmysqld64]下方)
  4. 从Apache** → Apache Modulescgi_module中禁用cgi_module(取消选中它)
  5. php.ini中禁用XDEBUG Extension
  6. 由于我使用反病毒软件和防火墙,我将httpd.exemysqld.exe文件(以及PHP CLI和CGI二进制文件以及PHP的DLL文件)添加到了例外项中。
  7. httpd.conf中打开EnableMMAPEnableSendfile
  8. php.ini中将realpath_cache_size设置为4096k
  9. 最后,编辑项目的配置文件,并同样将localhost替换为127.0.0.1
我还建议查看这篇文章:WAMP is Running Very Slow。他们涵盖了许多可能有助于您的更改。

3

对于我来说,访问本地内容时使用127.0.0.1而不是localhost可行(因此可能隐藏了DNS解析问题):

  • http://127.0.0.1/mysite很快

  • http://localhost/mysite很慢


3
将文件php.ini中的PHP SMTP服务器从localhost更改为127.0.0.1,在我的vanilla复制品中的第1084行,这样做就可以了。

2

hosts文件中取消注释这行内容,对我是有效的:

# 'localhost' name resolution is handled within DNS itself.
    127.0.0.1       localhost
#   ::1             localhost

取消注释 127.0.0.1 localhost。这样做后速度会非常快。

这对我来说只有在我留下# ::1,所以只有127.0.0.1没有被注释掉才有效。 - Gunnar Bernstein

2
除了 tvanc 的回答 所述之外,您还可以在 php.ini 中使用 xdebug.profiler_enable=Offxdebug.profiler_enable=0 来禁用 Xdebug 分析器。
您还可以增加 PHP 内存限制。 在 php.ini 中搜索 memory_limit
此外,在 WAMP is Running Very Slow 中还有一些有用的提示,这里无法逐一列举。

有很多因素会导致macOS上的wamp Pro运行缓慢。对我来说,是php.ini文件中的分析设置。我不知道自己启用了XDebug Profiling,每个请求都会写出300MB大小的文件。当然,事情出了问题,渲染一个网站需要1分钟。感谢指出这一点。 - Marc Loeb

2

我正在运行Windows 8,使用WAMP时非常缓慢。我尝试了所有建议的方法。不同之处在于,WAMP默认有httpd.conf

AcceptFilter http none
AcceptFilter https none

所以我进行了相反的思考:也许这不再需要了。它似乎很好地运作:

 #AcceptFilter http none
 #AcceptFilter https none

或许并非所有的 Windows 版本都存在此问题,在 httpd 中您可以找到:

# AcceptFilter: On Windows, none uses accept() rather than AcceptEx() and
# will not recycle sockets between connections. This is useful for network
# adapters with broken driver support, as well as some virtual network
# providers such as vpn drivers, or spam, virus or spyware filters.
#AcceptFilter http none
#AcceptFilter https none

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