【问题标题】:WAMP/XAMPP is responding very slow over localhostWAMP/XAMPP 在 localhost 上的响应非常慢
【发布时间】:2012-01-15 23:37:53
【问题描述】:

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

127.0.0.1       localhost

127.0.0.1       localhost

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

【问题讨论】:

  • 我也有同样的问题。问题在于 Apache 的主要设置文件 httpd.conf。请参阅此链接以获取对我有用的解决方案:serverfault.com/questions/66347/…
  • 我在 htpd.conf 上添加了LoadModule php5_module "C:/xampp/php/php5apache2_2.dll" 并重新启动它,但它根本没有帮助。
  • 嗯,您是否有全新安装的 xampp 或者您是否正在运行任何框架?此外,您不需要在 hosts 文件中使用此行 127.0.0.1 localhost 两次,因此请尝试取出一个
  • 问题解决了,我什么也没做。几天后它突然又快速响应了。叹息。
  • @all,我有一个问题要问那些提出解决方案的人,这些解决方案涉及使用127.0.0.1 添加或替换文本:如果您访问127.0.0.2127.1.2.3 或其他一些环回地址会发生什么?例如,如果 MySQL 绑定到 127.0.0.2,那么在 Apache conf 文件中硬编码 127.0.0.1 是否仍然有效?

标签: php apache xampp localhost wamp


【解决方案1】:

这是由 IPV6 引起的。这是使 MYSQL 不使用它的方法。 (所以,不禁用 IPV6)

编辑mysql文件'my.ini'

[wampmysqld][mysqld] 下添加以下内容:

bind-address = ::

保存文件并重启mysql服务

享受吧!

【讨论】:

  • 只是想非常感谢这个答案。这帮助我加快了查询速度!
  • 完美!我给你的答案 5% 的机会,它会有所帮助,但确实如此!谢谢。
  • 谢谢 速度提高了很多...因为我正在使用 XAMPP 我已将其添加到 [mysqld]
  • 这个技巧对我帮助很大。它使我的 MySQL 服务器快了近 100 倍。它可以在 WAMP 或 XAMPP 上运行。对于 XAMPP,只需删除 "bind-address = ::" 行..
  • 你是我的英雄!
【解决方案2】:

在这里尝试了一些答案和cmets后,我终于找到了解决方案!在这篇文章The correct way to configure PHP 中,我找到了一种在 Apache 中将 PHP 配置为模块的新方法。

对于本文的作者来说,官方配置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.CONF

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

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

【讨论】:

    【解决方案3】:

    我怀疑 Chrome 开始变得愚蠢和笨重有一段时间了,我的问题是在更新后开始的。由于 Ampps 在连接到 Internet 时效果更好,因此我将 1 + 1 放在一起。在 Chrome 高级设置下,尝试挖掘预加载网页以获得更好的性能功能。并杀死它。

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

    感谢 Google 开发人员。

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

        电源计划是问题。将平衡更改为高性能。

        【讨论】:

          【解决方案6】:

          如果您使用 PHP Xdebug 进行调试,请删除该文件。它对我有用。 响应时间从 950ms 减少到 125ms。

          【讨论】:

            【解决方案7】:

            将我的 PHP 版本从 5.5.25 更改(更新)到 7.0.10 解决了我的问题。

            【讨论】:

              【解决方案8】:

              使用 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.
              

              【讨论】:

                【解决方案9】:

                我在我的 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
                

                【讨论】:

                  【解决方案10】:

                  只需在 Chrome 中尝试“隐身”模式即可。

                  最后,这帮助我解决了我的问题。

                  请记住,这不是永久的解决方案。

                  【讨论】:

                    【解决方案11】:

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

                    (方法一) 右击 WAMP > Apache > Apache Modules > 取消勾选"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 上。
                    • 这对我有用。使用 El Capitan (MAMP) + Apache 2.2.29 + PHP 5.6.10。尤其是运行 Parallels IE 测试环境时的延迟。
                    • 是的 - 我已经尝试了很多东西 - 这对我在 W7Pro 上使用 XAMPP 很有用。它似乎还修复了一些恼人的 phpMyAdmin 停止刷新,其中 PMA 坐在那里带有时钟图标。
                    • 这是唯一对我有用的东西。我尝试过的所有其他已知修复都无效,但这确实有效
                    • 即使到 2021 年,这个解决方案也能奏效! Win10, Apache/2.4.41 (Win64) OpenSSL/1.1.1c PHP/7.3.11 Datenbank-Client 版本:libmysql - mysqlnd 5.0.12-dev
                    【解决方案12】:

                    在尝试了这篇文章的每条指令后,对我来说,当我添加时:

                    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 的“排除进程”列表中
                    • 这个解决方案对我有用,我尝试了所有其他解决方案,但在我启动本地主机后在我的任务管理器中发现,很多与位防御服务主机相关的进程将开始运行。为位防御者添加了例外,现在像魅力一样工作。
                    【解决方案13】:

                    我刚刚在运行 Windows 10 的笔记本电脑上解决了这样一个问题。突然 wamp 变得超级慢 - 加载页面的请求需要 2 分钟。

                    在尝试了很多事情之后,解决问题的方法是禁用 Windows Defender。在那之后,一切都像魅力一样发挥作用。

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

                    【讨论】:

                    • 这个!!!!你是一个救命稻草,花了好几个小时试图弄清这个问题!
                    • 这对我来说很有魅力,我已经为这个问题苦苦挣扎了好几个星期了
                    【解决方案14】:

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

                    【讨论】:

                      【解决方案15】:

                      对我来说是 xdebug。我禁用了它,它应该可以正常工作!

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

                      【讨论】:

                      • 这正是发生在我身上的事。谢谢你记得我!
                      【解决方案16】:

                      我还不能在@Honesta 的回答下发表评论,所以我会以我设法解决的方式写在这里。

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

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

                      如何

                      我刚刚打开 my.ini 文件并取消注释它所说的行

                      bind-address="127.0.0.1"
                      

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

                      学分

                      This article 帮助我解决了这个问题,尽管我不需要其中的所有内容,因为 XAMPP 中的某些设置没有被请求。

                      【讨论】:

                        【解决方案17】:

                        我遇到了同样的问题。大多数时候,响应时间极慢,刷新工作很快。 自行车提出的所有建议都无济于事。到目前为止似乎最有帮助的方法(过去 30 分钟没有缓慢的响应时间)是重置 winsock,如下所述:http://www.devside.net/wamp-server/wamp-is-running-very-slow

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

                        在此之后您需要重新启动。

                        【讨论】:

                        • 记得以管理员身份执行。
                        【解决方案18】:

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

                        xdebug.remote_autostart=true

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

                        【讨论】:

                        • 禁用 xdebug 扩展(zend_extension 行)对我有用。现在我需要一个新的调试器 -.-" 感谢您为我指明正确的方向
                        【解决方案19】:

                        在我的例子中,当在 php.ini 中禁用它时,加载时间快 5 倍:

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

                        【讨论】:

                        • 我已经找了一年多的原因了。对我来说,这是主要和唯一的罪魁祸首。这里有一篇文章描述了除了必须禁用 Xdebug 之外您还可以做什么:stackoverflow.com/questions/24893010/… 谢谢!
                        • 谢谢,谢谢,谢谢,谢谢!!!我一直在尝试这里和其他地方的所有内容。而 XDEBUG 就是让 phpMyAdmin 慢得要命的东西。现在它又飞起来了!
                        • 完全相同的问题,即使是更新的扩展副本。我在不需要时将其注释掉的速度更快,但可能与带有扩展名的其他 .ini 设置之一有关。
                        • 你这个英雄!最后,我启用了 xdebug,但关闭了分析器,我的脚本从大约 5 分钟加速到了 5 秒。谢谢!
                        • 对我来说,这是唯一可以加快速度的方法。令人惊讶的是,启用 xdebug 后,Internet Explorer 11 的运行速度非常快。 chrome 和 ff 慢得要命……
                        【解决方案20】:

                        我也有这个问题。

                        我添加了上面建议的条目,但没有成功。

                        这是因为 Spybot Search and Destroy 在我的 hosts 文件中添加了 15,000 行免疫站点(即阻止您访问它们)。

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

                        【讨论】:

                          【解决方案21】:

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

                          是什么让这个问题变得困难(并且偶然发生),它可能是由操作系统、WAMP 配置和您的浏览器之间的十几种不同的事情引起的。

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

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

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

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

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

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

                          7. 清除浏览器的缓存。

                          本指南更深入一点:WAMP is Running Very Slow

                          【讨论】:

                          • 我做这件事的第一件事,它的工作非常好,上面回答的其他技巧肯定会起作用,只是因为这在答案的底部,我先尝试了这个并解决了我的问题,酷!
                          【解决方案22】:

                          Chrome 中遇到了同样的问题,并且在应用了所有已知的补救措施后它并没有消失。对我来说,解决方案是在 Chrome 设置(设置 -> 显示高级设置 -> 隐私)中取消选中启用网络钓鱼和恶意软件防护”。之后 localhost 就快如闪电了。

                          【讨论】:

                            【解决方案23】:

                            我在运行 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,他在blog post 中指出了这一点。在 Windows 8 桌面上,同时按下Windows KeyR key

                            在运行对话框中输入regedit并点击确定

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

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

                            右击Parameters,展开New,选择DWORD (32-bit)

                            Name 字段中输入DisabledComponents

                            双击新的DisabledComponents值,在Value data对话框中输入ffffffff,然后点击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 专业版

                            作为 Windows 8 Pro 用户,您有权获得 Windows 7 的降级权限。Read here 了解更多信息。对我来说,这是唯一真正能正确完成工作的解决方案。

                            祝你好运!

                            【讨论】:

                            • 这是一个很好的答案集合,我唯一为我做的和为我工作的就是禁用 IPv6,仅此而已,所以谢谢 ;)
                            • 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 的实例;那是expected and normal。第二个是负责主要工作的worker,第一个只是监视器,如果它崩溃了可以重新启动worker。您只能在 调试模式 下获得一个,这不适合常规使用。
                            • 所有这些东西可能是无效的、常规的等,但至少它使 apache 运行得更快。您必须等待十秒钟才能加载页面也不是预期的,但在 Windows 系统中很常见。最后,如果您不介意系统中的错误,最好切换到 Mac 或 Ubuntu。
                            • 非常好的、详尽的评论,但对我来说几乎没有缺点...与其将 Apache 放在端口 8080 上,我们最好禁止 Skype 使用端口 80 和 443。这是在 Skype 的连接中完成的设置。从开发人员的角度来看,指向 8080 并不是一个好的做法,主要是因为它可能与默认在 8080 上运行的 Apache Tomcat 冲突,并且也包含在 XAMPP 包中。
                            • @MartinAsenov:如果只是 Skype,那很好,Skype 可以很容易地重定向到另一个端口。但是我在使用 Dropbox 之类的其他程序时遇到端口 80 问题,移动到另一个端口并不容易。
                            【解决方案24】:

                            如果您使用 mysql,请在 mysql_connect 函数中使用 127.0.0.1 而不是 localhost,这对我有帮助

                            【讨论】:

                              【解决方案25】:

                              看看这里:

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

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

                              如果你发现 phpmyadmin 很慢

                              config.inc.php 中,您也可以将localhost 更改为127.0.0.1

                              【讨论】:

                              • 这将请求时间加快了大约 80%。为什么PHP在Windows 8下用localhost连接MySQL这么慢?
                              • 这并没有为我解决 :( 我知道它过去曾修复过一次,但由于某种原因它现在无法正常工作,sadpanda。
                              • 它在 Windows 8.1 上将响应时间减少到 20%。感谢您的回答。与 wowpartick 的问题相同
                              • 太棒了——它把请求时间从 1.03 秒减少了。约 15 毫秒。谢谢! (使用win8.1 64bit)
                              • 我遇到了同样的问题,Windows 8,本地主机上的 phpmyadmin 永远打开一个小表(29k 行)。一旦我将 URL 栏中的地址更改为 127.0.0.1,它会立即加载。非常奇怪
                              【解决方案26】:

                              我在 wamp 上运行,曾经遇到过这个问题。尽管我想到了 5 个主要因素,但可能有很多因素。

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

                              第二。您的计算机是否已满或占用大量空间?这发生在我的合作伙伴网站上。

                              第三。检查您的注册表文件可能有错误或其他事情。 (这最终成为我的问题。)

                              第四。卸载后,您是否手动删除了留在计算机上的文件。(是的,即使您使用 wamp 卸载后,它也倾向于留下一个或 2 个文件夹,其中包含一些重要数据。安装时不会重新修改并且会保持不变。)

                              第五。下载最新的 wamp 或最新的稳定版本。

                              希望其中一项有所帮助。

                              【讨论】:

                                猜你喜欢
                                • 1970-01-01
                                • 2015-06-11
                                • 2015-11-19
                                • 2014-08-07
                                • 1970-01-01
                                • 1970-01-01
                                • 2011-01-24
                                • 2021-07-04
                                • 2014-08-06
                                相关资源
                                最近更新 更多