我不知道问题出在哪里。WAMP非常慢,所以我重新格式化了电脑并安装了WAMP。然而,访问 localhost 仍然非常、非常慢,有时甚至根本无法加载。我甚至将其替换为 XAMPP,但结果仍然相同。可能的问题是什么?这是我的当前 hosts 文件:
127.0.0.1 localhost
127.0.0.1 localhost
以前一切都很完美,但我不知道发生了什么,为什么最近它变得奇怪了,即使重新格式化也无法修复。
我在运行64位Windows 8时遇到了同样的问题。Apache非常缓慢,但是按F5多次后就正常了。最终,我尝试了很多方法才成功解决问题。现在它工作得很快。
尝试以下任务以提高性能:
将侦听端口从80更改为8080,以避免与Skype等程序的冲突。打开httpd.conf文件并找到以Listen
开头的行(大约位于第62行左右)。更改如下:
Listen 127.0.0.1:8080
将电源计划从“平衡”更改为“高性能”。您可以在控制面板\所有控制面板项\电源选项
中完成此操作
这个特定任务的功劳归给Jef,他在他的博客文章中指出了这一点。从Windows 8桌面,同时按Windows键
和R键
在运行对话框中键入regedit并单击“确定”
使用注册表编辑器展开注册表树并浏览到:
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP6\Parameters
右键单击 Parameters
,展开 New
,并选择 DWORD (32-bit)
值
在 Name
字段中输入 DisabledComponents
双击新的 DisabledComponents
值,将 ffffffff
输入到 Value data
对话框中,然后点击 OK
按钮
确认新的注册表值包含所需数据
如果使用虚拟主机,则不要将每个虚拟主机添加到新行上。而应该像下面这样列出它们。 127.0.0.1 site-a site-b site-c
我还添加了 127.0.0.1 127.0.0.1
,因为我听说这可以提高查询的效率(无法确认,但是加上也没有坏处)
你的 hosts 文件位于 C:\Windows\System32\Drivers\etc
在我的情况下,我有两个 Apache 进程正在运行。确保只有一个进程在运行。你可以按下 CTRL+ALT+DEL
并点击 Task Manager
来检查这一点
我发现将基础筛选引擎关闭也起到了一定的作用。由于停止或禁用 BFE 服务会显著降低系统的安全性,因此只有在需要时才应这样做。
进入 控制面板 => 管理工具 => 服务 => 基础筛选引擎
通过点击 Stop 来停止基础筛选引擎
前往任务管理器,右键点击Apache后选择“设置优先级”并将其从“普通”更改为“高”。
这是一个比较不好看的方法,但它确实有效。它可以使Apache保持繁忙状态,并且可以更快地处理您自己的请求。在iframe位置中插入本地Web地址并保存为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 8 Pro用户,您有权降级到Windows 7。 在这里了解更多信息。对我来说,这是唯一真正有效的解决方案。
127.0.0.1 127.0.0.1
。这甚至不是HOSTS文件的有效语法;您无法重新映射IP地址。检查有多少个apache进程正在运行。在我的情况下,我有两个apache进程正在运行。确保您只有一个正在运行。什么?你应该有两个httpd.exe
实例;这是预期和正常的。第二个是负责主要工作的worker,而第一个仅是监视器,如果worker崩溃,则可以重启worker。您只会在调试模式下获得一个,而这并不适合常规使用。 - Synetech这是由IPV6引起的。以下是让MYSQL不使用它的方法(因此,不禁用IPV6)。
编辑mysql文件“my.ini”
在[wampmysqld]
或[mysqld]
下添加以下内容:
bind-address = ::
保存文件并重新启动mysql服务
享受吧!
看这里:
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
。
在我的情况下,当php.ini中禁用此项时,加载时间快了5倍:
;zend_extension = "\xampp\php\ext\php_xdebug-2.1.0-5.3-vc6.dll"
对我有效的解决方案是禁用cgi_module。 可以使用以下方法之一:
(方法1)右键单击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服务,然后你就可以继续使用了。
在使用xDebug时,影响性能的是php.ini中的这一行:
xdebug.remote_autostart=true
当我将其删除后,页面又变得快了。
mysql_connect
函数中使用127.0.0.1
代替localhost
,这对我很有帮助。我还无法在@Honesta的回答下进行评论,因此我将在此处写出我的解决方法。
我只是打开了my.ini
文件,并取消注释了其中说的那行。
bind-address="127.0.0.1"
对于XAMPP用户而言,该文件位于C:\xampp\mysql\bin\my.ini
。
这篇文章帮助了我解决问题,尽管因为XAMPP的某些设置不需要其中的一些内容。
LoadModule php5_module "C:/xampp/php/php5apache2_2.dll"
,并重新启动了它,但是没有任何帮助。 - FBwall127.0.0.1 localhost
这一行,请尝试删除其中一个。 - cowls127.0.0.1
的解决方案的人:如果您访问127.0.0.2
、127.1.2.3
或其他环回地址会发生什么?例如,如果MySQL绑定到127.0.0.2
,在Apache配置文件中硬编码127.0.0.1
仍然有效吗? - Synetech