使用XAMPP的Windows上的PHP运行速度太慢了100倍

时间:2016-04-20 20:16:42

标签: php windows xampp xdebug

PHP在我的Windows桌面上运行得太慢,phpMyAdmin需要几分钟才能打开数据库。以下是运行简单PHP测试程序的时间比较:

  • 运行XAMPP的Windows 8.1计算机: 3597 ms
  • iPage共享主机: 65 ms
  • A2Hosting共享主机: 26 ms

这是测试程序......

<?php
$rStartTime = microtime(true);
$countTo = 100000;
$a = 0;
//$countTo = $countTo * 100;
for ($x = 0; $x <= $countTo; $x++) {
    $a = sqrt(pow($x, 2));
}
$rMs = floor((microtime(true) - $rStartTime) * 1000);
echo 'timer done, countTo=' . $a . ' ms=' . $rMs;

通过输入&#34; http://localhost/timer.php&#34;运行测试程序而无需调试。进入Firefox。

本地机器通常很快。它正在运行......

  • Windows 8.1
  • XAMPP 1.8.3(控制面板v3.2.1)
  • Apache 2.4.4(最新版本为2.4.20)
  • PHP 5.5.3
  • Antimalware = Windows Defender
  • IDE = PHPStorm 10.0.2

什么让PHP运行得如此之慢?

10 个答案:

答案 0 :(得分:21)

我在xampp \ php \ php.ini中发现问题是 Xdebug 。这是尝试在网络上找到的许多解决方案的结果:

运行XAMPP 作为管理员并重新启动服务器: 3617 ms

在xampp / apache / conf / httpd.conf 中,将localhost替换为127.0.0.1并重新启动服务器: 3639 ms

在Windows / System32 / drivers / etc / 主机中,添加“127.0.0.1 127.0.0.1”&amp; “127.0.0.1 localhost”并重新启动Windows: 3960 ms

在Windows / System32 / drivers / etc / 主机中,取消注释“127.0.0.1 localhost”并重新启动Windows: 3659 ms

在php.ini中,取消注释zend_extension =&#34; C:\ xampp \ php \ ext \ php_ eaccelerator _ts.dll&#34;并重新启动服务器: 3643 ms

在php.ini中,设置xdebug。 remote_enable = 0: 3598 ms

在php.ini中,设置remote_host =&#34; localhost &#34;: 3593 ms

在php.ini中,设置xdebug。 profiler_enable = 0: 249 ms

在php.ini中,注释掉所有 Xdebug 语句: 27 ms - 成功!

可悲的是,我犯了错误,需要Xdebug: - (

答案 1 :(得分:8)

我用xdebug idekey设置解决了我的问题(xdebug.idekey =&#34; xdebug1&#34;)和chrome扩展xdebug helper(https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc

*别忘了禁用remote_autostart(xdebug.remote_autostart = 0)

仅使用idekey设置按请求激活debug(xdebug),因此如果不需要调试,php处理可以更快/更正常,通过按钮使用chrome扩展

我在Windows 10 64bit上使用xampp 1.8.3, 我使用自定义idekey,xdebug.idekey =&#34; xdebug1&#34;,与xdebug帮助器设置相同

[XDebug]
zend_extension = "E:\xampp183\php\ext\php_xdebug.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "E:\xampp183\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_autostart=0
xdebug.idekey="xdebug1"
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.trace_output_dir = "E:\xampp183\tmp"
xdebug.remote_log="E:\xampp183\tmp\xdebug\xdebug.log"

setting1

enter image description here

enter image description here

现在断点/调试仅在通过xdebug helper

请求会话时激活

答案 2 :(得分:7)

我在Windows Defender中排除了我的网站文件夹和我的xampp文件夹,这里解决了一些问题。

答案 3 :(得分:2)

我和xampp有同样的问题,问题是WINDOWS DEFENDER,如果你禁用windows defender保护,xampp更快(正常速度),你也可以搜索xampp文件夹作为windows defender中的exlusion。这些就是解决方案。

答案 4 :(得分:0)

我发现Eclipse没有正确结束XDebug会话。我通过重新启动调试会话并正确结束它来解决问题。

答案 5 :(得分:0)

解决了php - WAMP / XAMPP对localhost / wordpress的反应非常慢

最简单的方法是转到c dirive&gt; xamp&gt; php文件夹&gt; search php.ini&gt; clink on top然后找到max_execution_time并将其设置为max_execution_time = 300&gt;现在重启xamp&gt;全部完成:))

max_execution_time=300

答案 6 :(得分:0)

在将上述所有内容更改为从https://localhost更改为https://127.0.0.1

之后,

对我来说是一项改进

答案 7 :(得分:0)

对于chrome用户:在尝试了上述所有提示后,我发现Chrome扩展程序“ Evernote Web Clipper”也在降低chrome的速度。 加载不包含任何内容的纯URL时: 启用/禁用Evernote Web Clipper:0,7ms / 0,25ms

答案 8 :(得分:0)

对我来说,mcAfee Web Boost扩展程序是Blocker。我删除了扩展程序,现在速度提高了90%

答案 9 :(得分:0)

如果您在 PHP 脚本中使用 mysql db,请检查您的 db 连接配置。

在 Windows (10) 上的数据库主机的情况下,使用 127.0.0.1 而不是 localhost。