WAMP / XAMPP通过本地主机响应非常慢


122

我不知道问题是什么。WAMP非常慢,因此我重新格式化了计算机并安装了WAMP。但是,访问localhost的速度非常非常慢,有时甚至根本无法加载。我什至删除了它,并用XAMPP替换了它,但是我仍然得到了相同的结果。可能是什么问题?这是我当前的主机文件:

127.0.0.1       localhost

127.0.0.1       localhost

之前它运行良好,但我不知道发生了什么,为什么它最近开始表现奇怪,因为即使重新格式化也无法解决。


4
我也有同样的问题。问题出在Apache的主要设置文件httpd.conf中。请参阅此链接为我工作的解决方案:serverfault.com/questions/66347/...
vikky

LoadModule php5_module "C:/xampp/php/php5apache2_2.dll"在htpd.conf上添加并重新启动了它,但是它根本没有帮助。
FBwall

嗯,您是全新安装的xampp还是正在运行任何框架?你也不需要这条线127.0.0.1 localhost在hosts文件两次所以尽量以一出来
整流罩

问题解决了,我什么也没做。几天后,它突然又迅速做出了快速反应。叹。
FBwall

@all,我对那些提出的解决方案涉及添加或替换文本一个问题127.0.0.1:会发生什么,如果你访问过127.0.0.2,或127.1.2.3或其他一些环回地址?例如,如果将MySQL绑定到127.0.0.2,则127.0.0.1仍可以在Apache conf文件中进行硬编码吗?
Synetech

Answers:


112

我在以64位运行的Windows 8上运行时遇到了同样的问题。Apache确实很慢,但是当您多次按F5时,一切正常。最后,我做了很多事情后设法解决了这个问题。现在,它可以快速运行。

尝试执行以下任务以提高性能:

更改apache的监听端口

将侦听端口从80更改为8080,以避免与Skype之类的程序冲突。打开您的httpd.conf文件,找到以开头的行Listen(位于第62行附近)。如下更改: Listen 127.0.0.1:8080

在此处输入图片说明

更改电源计划

将电源计划从“平衡”更改为“高性能”。您可以在Control Panel\All Control Panel Items\Power Options

在此处输入图片说明

禁用IPv6

这项特殊任务的功劳归于杰夫(Jef),他在博客文章中指出了这一点。从Windows 8桌面,按下Windows KeyR key在同一时间

在此处输入图片说明

在“运行”对话框中键入regedit,然后单击“确定”。

在此处输入图片说明

使用注册表编辑器展开注册表树并浏览至:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP6\Parameters

在此处输入图片说明

右键单击Parameters,展开New,然后选择DWORD (32-bit)

在此处输入图片说明

进入DisabledComponentsName现场

在此处输入图片说明

双击新DisabledComponents值,输入ffffffffValue data对话框,然后单击OK按钮

在此处输入图片说明

确认新的注册表值包含必需的数据。

在此处输入图片说明

更改您的etc /主机

如果使用虚拟主机,请不要在新行中添加每个虚拟主机。而是像下面这样列出它们。 127.0.0.1 site-a site-b site-c

我还添加了内容,127.0.0.1 127.0.0.1因为我听说这样也可以改善查找效果。(无法确认,但可以放在那里)

在此处输入图片说明

您的主机文件位于 C:\Windows\System32\Drivers\etc

检查正在运行多少个Apache进程

就我而言,我有两个正在运行的apache进程。确保只有一个正在运行。您可以通过按进行检查CTRL+ALT+DEL,然后按Task Manager

在此处输入图片说明

关闭基本过滤引擎(BFE)

我发现还有一点需要做的就是关闭基本过滤引擎。由于停止或禁用BFE服务将大大降低系统的安全性,因此仅应在需要时执行此操作。

转到控制面板=>管理工具=>服务=>基本过滤引擎

在此处输入图片说明

通过单击“ 停止”停止基本过滤引擎

在此处输入图片说明

增加Apache的进程优先级

转到任务管理器,然后通过右键单击->设置优先级->高将Apache的进程优先级从“正常”更改为“ 高” 在此处输入图片说明

保持Apache进程繁忙

这是一个难看的方法,但它确实可以工作。它使Apache保持忙碌,并将更快地处理您自己的请求。将您的本地网址插入iframe位置,并将其保存在html文件中,然后运行它,直到完成为止。

<html>
    <head>

<script>
setTimeout(function(){
   window.location.reload(1);
}, 2000);

</script>

</head>
<body>
<iframe name="iframe" id="iframe" src="http://mywebsite:8080"></iframe> 


</body>
</html>

降级到Windows 7 Pro

作为Windows 8 Pro用户,您有权拥有Windows 7的降级权利。在此处了解有关此内容的更多信息。对我来说,这是真正能够正确完成工作的唯一解决方案。

祝好运!


7
这是一个很好的答案集合,我所做的唯一为我工作的就是禁用IPv6,仅此而已,所以谢谢;)
AgelessEssence

22
I also added 127.0.0.1 127.0.0.1这甚至不是HOSTS文件的有效语法。您无法重新映射IP地址。Check how many apache processes are running. In my case I had two apache processes running. Be sure you only have one running.什么‽您应该有两个的实例httpd.exe;这是正常的。第二个是负责主要工作的工作程序,第一个只是监视程序,如果它崩溃,它可以重新启动工作程序。您只能在调试模式下获得一个,这不适用于常规使用。
Synetech

所有这些事情可能都是无效的,有规律的等等,但至少它使apache的运行速度更快。您也不必等待十秒钟才能加载页面,但这在Windows系统中很常见。最后,如果您不介意系统中的错误,最好切换到Mac或Ubuntu。
自行车

非常好的,详尽的评论,但对我来说没有什么坏处...与其将Apache放在端口8080上,不如让我们禁止Skype使用端口80和443。这是在Skype的连接设置中完成的。从开发人员的角度来看,指向8080并不是一个好习惯,主要是因为它可能与默认在8080上运行的Apache Tomcat发生冲突,并且XAMPP软件包中也包含该Apache Tomcat。
Martin Asenov 2014年

1
@MartinAsenov:如果只是Skype,那很好,Skype可以很容易地重定向到另一个端口。但是我在其他一些程序(例如Dropbox)上遇到了端口80问题,要移到另一个端口并不容易。
Pavel V.

72

这是由IPV6引起的。这是使MYSQL不使用它的方法。(因此,无需禁用IPV6)

编辑mysql文件'my.ini'

[wampmysqld]下添加以下内容:

bind-address = ::

保存文件并重启mysql服务

请享用!


1
只是想感谢我的回答..这帮助我加快了查询速度!
BrownChiLD 2014年

1
完善!我给了您答案,这有5%的机会会有所帮助,但确实有帮助!谢谢。
AndiPower 2015年

3
感谢的人速度提高了很多......至于我使用的XAMPP我已经在[mysqld]下添加它
Sabeer穆罕默德

2
这一招已经帮了我很多..它让我的MySQL服务器几乎快100倍。它会在WAMP或XAMPP作品。对于XAMPP,只是之前删除#号“绑定地址= ::”行..
Aldry Wijaya

1
你是我的英雄!
安德鲁·苏尔杜

53

在这里看看:

http://forum.wampserver.com/read.php?2,91602,page=3

基本上使用127.0.0.1而不是localhost在Windows 8上通过php连接到mysql时使用

如果您发现phpmyadmin慢

config.inc.php你可以更改本地主机来127.0.0.1


2
这样可以将请求时间缩短大约80%。为什么PHP在Windows 8下使用本地主机连接MySQL这么慢?
wowpatrick

1
这并不能解决我的问题:((我知道它过去曾经解决过一次,但是由于某种原因它现在无法正常工作,萨潘达。–
Benno

在Windows 8.1上,它将响应时间减少到20%。感谢你的回答。与wowpartick相同的问题
Ejaz

太好了-它将请求时间从1.03秒减少了。到〜15ms。谢谢!(使用win8.1 64bit)
user2345998

我有同样的问题,Windows 8中,在localhost数据库数据库打开一个小表(29K行)永远..当我在URL栏更改地址为127.0.0.1它即刻加载..很奇怪
luky

43

对我有用的解决方案是禁用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服务,您应该一切顺利。


+1就像魅力一样!这一个自己做到了!我使用Windows 7 Pro + Apache 2.4 + PHP 5.5.30。
Marco Demaio

这为我工作。使用El Capitan(MAMP)+ Apache 2.2.29 + PHP 5.6.10。尤其是在运行Parallels IE测试环境时的延迟。
fidev

是的-我已经尝试了很多事情-在W7Pro上使用XAMPP可以为我工作。这似乎也解决了一些烦人的phpMyAdmin停滞的刷新,其中PMA坐在那里带有时钟图标。
anoldermark '16

这是唯一对我有用的东西。我尝试了所有其他已知的修复程序,但均
无济于事,

42

以我为例,在php.ini中禁用此选项后,加载时间将加快5倍:

;zend_extension = "\xampp\php\ext\php_xdebug-2.1.0-5.3-vc6.dll"

1
我一直在寻找造成这种情况的原因一年多了。对我来说,这是主要和唯一的罪魁祸首。这是一则帖子,描述了除了必须禁用Xdebug之外还可以执行的操作:stackoverflow.com/questions/24893010 / ...谢谢!
Pascalculator 2014年

1
谢谢,谢谢,谢谢,谢谢!!!我一直在尝试这里和其他地方编写的所有内容。XDEBUG是使phpMyAdmin变得缓慢的一件事。现在又飞起来了!
hbit 2015年

1
完全相同的问题,即使使用扩展名的较新副本也是如此。不需要时,我可以更快地将其注释掉,但可能与其他带有扩展名的.ini设置有关。
马丁·舒特

1
你是英雄!最后,我启用了xdebug,但是关闭了事件探查器,我的脚本从大约5分钟加速到5秒。谢谢!
user3640967 2015年

1
对我来说,这是唯一加快速度的方法。令人惊讶的是,启用xdebug的Internet Explorer 11确实非常快。chrome和ff慢得要命……
Guntram

20

对于使用xDebug的我来说,php.ini中的这一行是性能杀手:

xdebug.remote_autostart=true

当我删除它时,页面又很快了。


禁用xdebug扩展(zend_extension行)对我有用。现在我需要一个新的调试器-.-“感谢您为我指明了正确的方向
kosmos

17

如果您使用的是mysql 127.0.0.1而不是localhostin mysql_connect函数,它可以帮助我


13

我尚无法在@Honesta答案下发表评论,所以我将在此写下解决问题的方式。

我的环境(我不知道这是否与答案有关)

  • XAMPP(版本5.6.3)
  • Windows 8.1专业版(64位)

如何

我刚刚打开my.ini文件,并取消注释该行

bind-address="127.0.0.1"

对于XAMPP用户,此文件位于中C:\xampp\mysql\bin\my.ini

学分

这篇文章帮助我解决了这个问题,尽管我并不需要所有内容,因为不需要XAMPP中的某些设置。


9

我刚刚在运行Windows 10的笔记本电脑上解决了这一问题。突然之间,沼泽变得非常缓慢-加载页面的请求耗时2分钟。

经过大量尝试后,原来解决该问题的方法是禁用Windows Defender。在那之后,所有人都像魅力一样工作。

ps我建议您将apache根目录添加到例外列表中,而不是完全禁用防御者。


这个!!!!您是一个救生员,花了数小时的时间试图找到答案!!
吉斯托

这对我来说就像是魅​​力,我已经为这个问题苦苦挣扎了数周了
Mohammed Cherkaoui

6

正如大多数答案所指出的那样,在“ localhost”上使用IP地址127.0.0.1有时会解决速度慢的问题-但这并不是真正的解决方案,因为它不能解决潜在的问题。

是什么导致这个问题很难(或一击即失),是由操作系统,WAMP配置和浏览器之间的十几种不同情况引起的。

  1. ::1 localhost从Windows主机文件中删除,并确保该文件127.0.0.1 localhost存在。您希望您的请求直接转到侦听的IPv4套接字。

  2. 在系统上禁用IPv6。您很可能没有使用它,并且已知会导致各种问题

  3. 从防火墙和防病毒软件中排除Apache和MySQL二进制路径以及Database文件夹。它们干扰并减慢速度。

  4. 重置TCP / IP子系统并重新启动: netsh int ip reset c:\resetlog.txt

  5. 确保您的系统未使用过时的DNS服务器: ipconfig /all

  6. 刷新Windows DNS缓存: ipconfig /flushdns

  7. 清除浏览器的缓存。

本指南更加深入:WAMP运行非常缓慢


我要做的第一件事是,它的工作非常好,上面回答的其他技巧肯定也可以,只是因为这是答案的最底下,我先尝试了一下,解决了我的问题,很酷!
阿贡萨吉塔

4

对我来说是xdebug。我禁用了它,并且按预期运行!

[XDebug]
zend_extension = C:\xampp\php\ext\php_xdebug-2.3.2-5.6-vc11.dll

这正是我发生的事情。谢谢你记住我!
Silvio Delgado

4

在尝试了这篇文章的每一个指示后,对我来说,当我添加时,我的作品:

Avira >>
Real-Time Protection >>
Configuration >>
Exception >>

添加过程:

  1. xampp \ apache \ bin \ httpd.exe
  2. xampp \ mysql \ bin \ mysqld.exe
  3. xampp \ xampp-control.exe

在此处输入图片说明


我正在使用Windows Defender,并且该解决方案对我有用,我只是将这三个文件添加到Defender的“排除进程”列表中
Kevin,

3

我在Windows 10计算机上使用wamp64。我遇到了同样的问题,从我的php.ini文件中关闭Xdebug为我解决了这个问题。

; [xdebug]
; zend_extension ="C:/wamp64/bin/php/php5.6.25/zend_ext/php_xdebug-2.4.1-5.6-vc11-x86_64.dll"
; xdebug.remote_enable = off
; xdebug.profiler_enable = off
; xdebug.profiler_enable_trigger = off
; xdebug.profiler_output_name = cachegrind.out.%t.%p
; xdebug.profiler_output_dir ="C:/wamp64/tmp"
; xdebug.show_local_vars=0

2

我有同样的问题。在大多数情况下,响应时间极慢,刷新工作很快。骑自行车提出的所有建议都无济于事。到目前为止,似乎最好的方法(在最近30分钟内没有较慢的响应时间)是按以下说明重置winsock:http : //www.devside.net/wamp-server/wamp-is-running-very-slow

netsh winsock reset
netsh int ip reset C:\resetlog.txt

之后,您需要重新启动。


只要记住以管理员身份执行即可。
MarceloAgimóvel18年

2

使用Windows 10(2018年6月),我完成了本文和互联网中看到的一系列操作,从而将加载时间从2秒提高到了不到400毫秒

禁用php.ini中的xdebug

; [xdebug]
; zend_extension ="C:/wamp64/bin/php/php5.6.25/zend_ext/php_xdebug-2.4.1-5.6-vc11-x86_64.dll"
; xdebug.remote_enable = off
; xdebug.profiler_enable = off
; xdebug.profiler_enable_trigger = off
; xdebug.profiler_output_name = cachegrind.out.%t.%p
; xdebug.profiler_output_dir ="C:/wamp64/tmp"
; xdebug.show_local_vars=0

在安装中使用127.0.0.1(以Wordpress为例)

使用@honesta方法

edit mysql file 'my.ini'

under the [wampmysqld] add the following:

bind-address = ::

并禁用像@Iulian Dita这样的cgi模块

The solution that worked for me was to disable the cgi_module. Use one of these methods:

(Method 1) Right click on WAMP > Apache > Apache Modules > uncheck "cgi_module"

(Method 2) Edit httpd.conf and disable the loading of the CGI module by commenting this line:

LoadModule cgi_module modules/mod_cgi.so
Commenting would be just adding a # in front, like this:

#LoadModule cgi_module modules/mod_cgi.so
Restart the Apache service and you should be good to go.

1

Chrome中发生了相同的问题,并且在应用所有已知的补救措施后并没有消失。对我来说,解决方法是在Chrome设置(设置->显示高级设置->隐私)中取消选中启用网络钓鱼和恶意软件防护 ”。在那之后,本地主机是闪电般的。


1

我也有这个问题。

我添加了上面建议的条目,但无法正常工作。

这是由于Spybot Search和Destroy已在我的主机文件中添加了15,000行免疫站点(即,阻止您访问它们)。

我的主机文件为433k-我删除了这些行,极大地提高了页面加载速度。




1

我曾经怀疑Chrome在一段时间内开始变得笨拙和笨拙,而我的问题在更新后开始出现。由于Ampps在连接到Internet时效果更好,因此我将1 +1组合在一起。在Chrome高级设置下,尝试深入了解“预加载”网页以获得更好的性能功能。杀死它

具有讽刺意味的,但并非意外,因为它似乎对预加载Localhost感到困惑。就我而言,这是在浪费了数小时的配置摆弄和数周的痛苦之后的即时解决方案。

谢谢Google开发人员。


0

我有同样的问题,但我从数据库中解决了问题。我已经重命名了表名称并创建了没有索引的新表,所有索引都通过该索引生效,并且表中有大量数据。我再次重命名了原始表,它已为我修复。



0

我不知道为什么,但是关闭我的互联网连接为我解决了这个问题。


0

在这里尝试了一些答案和评论后,我终于找到了解决方案!在本文中,配置PHP的正确方法我找到了一种将PHP配置为Apache中的模块的新方法。

对于本文的作者来说,配置PHP的官方方法不是最佳的。配置PHP的常见方法是:

# For PHP 5:
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/php"

我一直都是这样做的,但是在本文中,建议以这种方式配置PHP模块:

#For PHP5
LoadFile "C:/www/php5/php5ts.dll"
LoadModule php5_module "C:/www/php5/php5apache2.dll"

<IfModule php5_module>
    #PHPIniDir "C:/Windows"
    #PHPIniDir "C:/Winnt"

    <Location />
        AddType text/html .php .phps
        AddHandler application/x-httpd-php .php
        AddHandler application/x-httpd-php-source .phps
    </Location>

</IfModule>

我什至启用了IPV6,我的加载时间从45秒或1分钟或更长时间降到了2或4秒!由于这里提到的其他答案,我还在常规配置中启用了以下功能

主机文件:

127.0.0.1       localhost
127.0.0.1       127.0.0.1
#   ::1         localhost

HTTPD配置文件

EnableMMAP on
EnableSendfile on
AcceptFilter http none 
AcceptFilter https none
HostnameLookups Off

除此之外,我回滚了所有其他尝试过的解决方案,因此我确定这是我唯一使用过的解决方案。



-6

我在沼泽上奔跑,一次遇到了这个问题。尽管有5个主要因素,但可能有很多因素。

1号 程序可能会导致这种情况(即使杀毒软件也仅取决于您所拥有的。)

2号 您的计算机是否已满或占用大量空间,这发生在我的合作伙伴站点上。

第三名 检查注册表文件是否存在错误或其他原因。(这最终是我的问题。)

4号 卸载后,您是否手动删除了计算机上剩余的文件。(是的,即使使用wamp卸载后,它也倾向于保留其中一个或几个重要数据的文件夹或2。安装时,该文件夹不会被修改并保持不变。)

5号。下载最新的wamp或最新的稳定版本。

希望这些事情之一对您有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.