我正在Windows 7旗舰版上运行XAMPP 1.7.1。除了速度之外,一切(Apache和MySQL)都运行良好。
当我打开http://localhost/时,我必须等待1-3秒才能查看网页。在我看来,它应该最多几百毫秒。
基本事实:
我制作了一个简单的基准PHP脚本来测试HDD / CSS速度:
<?php
function getmicrotime() {
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
function testReadWrite() {
$timeStart = getmicrotime();
$filename = "test.txt";
file_put_contents( $filename, '' ); // prepare empty file
for ( $i = 0; $i < 1000; $i++ ) {
$a = file_get_contents( $filename );
file_put_contents( $filename, $a . '.' );
}
return round( getmicrotime() - $timeStart, 3 );
}
function testCpuSpeed() {
$timeStart = getmicrotime();
$var = '';
for ( $i = 0; $i < 100000; $i++ ) {
$var = sha1( md5( $i * $i * $i * $i * $i * $i * $i * $i * $i * $i ) );
}
return round( getmicrotime() - $timeStart, 3 );
}
echo "Read/write #1: " . testReadWrite() . "<BR>";
echo "Read/write #2: " . testReadWrite() . "<BR>";
echo "Read/write #3: " . testReadWrite() . "<BR>";
echo "CPU speed #1: " . testCpuSpeed() . "<BR>";
echo "CPU speed #2: " . testCpuSpeed() . "<BR>";
echo "CPU speed #3: " . testCpuSpeed() . "<BR>";
?>
我的电脑结果:
网站托管结果:
我服务器的一个结果(就像我的PC一样空闲的计算机,但速度稍快一点):
所以我不认为这是因为我的PC速度,但我确信还有一些问题。 您是否对Windows 7(或Vista)上的XAMPP速度有一定的经验?
感谢。
答案 0 :(得分:43)
如果在Windows 7下XAMP速度很慢,则防火墙设置没有区别 Security Essentials反病毒没有区别。
要解决这个问题,两个有很大不同的地方是:
1)在windows \ system32 \ drivers \ etc \ hosts中添加以下行:
127.0.0.1 127.0.0.1
127.0.0.1 localhost
2)如果您正在使用PHP,请在XAMP php.ini文件中取消注释eaccelerator行:
zend_extension =“C:\ xampp \ php \ ext \ php_eaccelerator_ts.dll”
完成这两项更改后,重新启动Apache,它会更快。
答案 1 :(得分:15)
不确定这可能是导致您出现问题的原因,但这可能是一个想法:您是否有一条如下所示的行:
::1 localhost
在您的主机中(它应该在C:\WINDOWS\system32\drivers\etc\hosts
之类的地方,如果我没记错的话)文件?
如果是,请在开头添加#
来评论该行。
这样,关于localhost的唯一一行应该是
127.0.0.1 localhost
这是一个IPv4地址;而你评论的那个是IPv6 - 这对你要做的事情没有用。
正如我所说,不确定你的问题是否与此有关,但我已经看到这种消息帮助了几次与你的非常相似的问题(即在服务器上做任何事情之前等了很长时间)
答案 2 :(得分:15)
使用XDEBUG注释PHP.ini中的行:
;[XDebug]
;zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
;xdebug.profiler_append = 0
;xdebug.profiler_enable = 1
;xdebug.profiler_enable_trigger = 0
;xdebug.profiler_output_dir = "C:\xampp\tmp"
;xdebug.profiler_output_name = "cachegrind.out.%t-%s"
;xdebug.remote_enable = 0
;xdebug.remote_handler = "dbgp"
;debug.remote_host = "127.0.0.1"
;xdebug.trace_output_dir = "C:\xampp\tmp"
I disabled Bitdefeender -> no result I added lines to hosts -> no result I disabled xdebug - x2-x3 faster
祝你好运 巴托
答案 3 :(得分:11)
我和Win 7 + XAMPP有类似的问题。问题是由我的防病毒软件引起的。当启用它时,即使是最简单的PHP页面也需要超过半秒的时间才能打开。带有大量链接require_once()的大PHP脚本花了超过1.5秒。在禁用防病毒功能的情况下,一切都很快(每个简单页面少于100毫秒,对于非常重的东西(100 +链接require_once())大约500毫秒。)
我正在使用bitdeffender,这是解决方案:
game mode
Antivirus -> Shield -> Advanced Settings -> Exclusions Tab
,然后为httpd.exe添加排除项(位于您的xampp安装/ apache / bin /中)。然后转到Antivirus -> Exclusions
并为php文件所在的目录添加排除项。上述步骤后不要忘记重启apache。
您可以选择安装eaccelerator来加快速度。
正如我所注意的那样:我发现WAMP作为一个项目不如XAMPP成熟。
附注2:最好的解决方案是使用旧PC作为Linux服务器,一切都会像魅力一样: - )
答案 4 :(得分:8)
在阅读了几个答案之后 - 他们没有帮助(我甚至删除了我的防病毒软件)。
显着帮助我的是禁用xdebug 。现在一切都变得非常快。
答案 5 :(得分:2)
有两件事可能导致此问题.Anitivirus软件和hostfile中的设置
1)在windows \ system32 \ drivers \ etc \ hosts中添加以下行:
127.0.0.1 127.0.0.1
127.0.0.1 localhost
2)在您的防病毒软件中,排除包含文件的document_root文件夹(例如c:/ www或c:/ xampp / htdoc等)。要对此进行测试,您还可以暂时禁用防病毒,但长期解决方法是排除文件夹和子文件夹
答案 6 :(得分:1)
答案 7 :(得分:1)
在C:\WINDOWS\system32\drivers\etc\hosts
中,我对这些行进行了评论
# 127.0.0.1 localhost
# ::1 localhost
还有大约100多条其他规则。
解决方案是删除所有这些规则或取消注释127.0.0.1 localhost
并将其置于最顶层。
答案 8 :(得分:1)
我的BUG - XAMPP非常慢
我的Xampp减慢并且最终停止是由填充php日志的警告消息引起的 - 请继续阅读
1 - Localhost / 127.0.0.1 - 没有帮助
2 - 病毒软件干扰 - 没有帮助
3 - 端口干扰变为8080 - 没有帮助
4 - Wamp - 同样的事情 - 没有帮助
最终事情总共失败了500个错误。
C:\ xampp \ php \ logs \ php_error_log几乎是MB(957K)
对于notepadd ++来说太大了(我的第一个线索是我的东西),记事本花了几分钟才能渲染。
数以千计的“严格”和“警告”类型的消息
<强> FIX 强>
更改了php.ini display_errors = On to = Off“那里还有其他几个错误的开/关开关,但是这个开启了它。”
nenamed log
重启apache和mysql
生活很美好。
答案 9 :(得分:1)
使用127.0.0.1而不是“localhost”连接数据库对我有用。
但是我搜索了另一个解决方案,并想出了这个:
在 my.ini 文件中,取消注释以下行:
# Change here for bind listening
# bind-address="127.0.0.1"
# bind-address = ::1 # for ipv6
你最终会得到:
# Change here for bind listening
bind-address="127.0.0.1"
# bind-address = ::1 # for ipv6
重新启动你的mysql服务器,页面应该加载非常快,而不会延迟2-3秒。
此外,使用此解决方案,您无需在数据库连接代码中修改连接,您可以继续使用“localhost”而不是“127.0.0.1”
答案 10 :(得分:1)
冒着明显的风险 - 检查主机文件的大小。由于Spybot为每个存在的恶意软件网站添加了例外,即使这些网站大部分不再处于活动状态,我的主机文件已经膨胀到450K。 Spybot对这10000多个条目进行了评论,其版权日期为2008年,无论如何都无用。
我不知道其他间谍软件保护软件是否会这样做,但是hosts文件应该足够小,以便XAMPP不必在每次显示页面时都浏览异常URL。顺便说一句,如果您安装了任何破解软件,我当然不会宽恕,请注意不要删除阻止在线验证检查站点的主机异常。
答案 11 :(得分:1)
现在如果我们遇到问题,那么也有解决方案。 我们可以每天轮换日志文件。这是步骤
CustomLog "logs/access.log" common
CustomLog "|bin/rotatelogs.exe logs/access_%y-%m-%d.log 86400" common
我同意disble Xdebug也会有所帮助。
答案 12 :(得分:0)
我有同样的问题......
我所做的是我卸载了x C: drive
上的xampp。
将其安装到另一个驱动器(E:)
...
并且不知道,但它的工作正常而且快......
答案 13 :(得分:0)
我使用Avast防病毒软件并通过简单的点击解决了这个问题。右键单击Avast图标,然后选择静音/游戏模式。就是这样。
答案 14 :(得分:0)
我有这个问题,它与防病毒或防火墙无关。很容易通过确保本地主机正在寻找127.0.0.1来修复。
我在这里找到了很好的建议:
[http://www.devside.net/wamp-server/wamp-is-running-very-slow
说明如下: 编辑文件 - C:\ Windows \ System32下\驱动程序\等\主机
通过在前面添加“#”来评论该行:
如果“localhost”被解析为IP地址“:: 1”,则请求(当无法找到IPv6侦听套接字时)将被路由回IP地址127.0.0.1(通过超时,回退或一些其他机制),导致连接不必要的延迟(例如,通常在1秒到30秒之间)。
确保“localhost”正确映射到IPv4环回地址“127.0.0.1”(...此行未注释掉): 127.0.0.1 localhost
答案 15 :(得分:0)
这就是我所做的,它使XAMPP更快:
在hosts文件(C:\ Windows \ System32 \ drivers \ etc \ hosts)中为我的站点分配了一个新的和未使用的环回地址。换句话说,我避免使用127.0.0.1用于其他网站:
127.0.0.2 example.com
在Apache httpd.conf文件中添加:
Listen 127.0.0.2: 80
由于我有多个网站,因此我在每个网站的htdocs下都有子文件夹。在这个例子中,foldername是example.com,这就是我的网站所在的位置。所以在我的httpd.conf文件中再次添加了一个VirtualHost,如下所示:
<VirtualHost 127.0.0.2:80>
ServerAdmin myemail@hotmail.com
DocumentRoot "C:/xampp/htdocs/example.com"
ServerName example.com
ErrorLog "c:/xampp/apache/logs/example.log"
CustomLog "c:/xampp/apache/logs/example-access.log" common
</VirtualHost>
重启Apache。
之后,在浏览器中访问example.com的速度非常快。