簡體   English   中英

XAMPP 在 Windows 上運行的 PHP 速度太慢了 100 倍

[英]PHP on Windows with XAMPP running 100 times too slow

PHP 在我的 Windows 桌面上運行非常緩慢,以至於 phpMyAdmin 需要幾分鍾才能打開一個數據庫。 下面是運行一個簡單的 PHP 測試程序的時間對比:

  • 運行 XAMPP 的 Windows 8.1 機器: 3597 毫秒
  • iPage 共享主機: 65 毫秒
  • A2Hosting 共享主機: 26 毫秒

這是測試程序...

<?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;

測試程序無需調試即可運行,通過在 Firefox 中輸入“ http://localhost/timer.php ”。

本地機器通常非常快。 它正在運行……

  • 視窗 8.1
  • XAMPP 1.8.3(控制面板 v3.2.1)
  • Apache 2.4.4(最新版本是 2.4.20)
  • PHP 5.5.3
  • 反惡意軟件 = Windows Defender
  • IDE = PHPStorm 10.0.2

是什么讓 PHP 運行如此緩慢?

我發現問題是 xampp\\php\\php.ini 中的Xdebug 以下是嘗試在網上找到的許多解決方案的結果:

以管理員身份運行 XAMPP 並重新啟動服務器: 3617 毫秒

在 xampp/apache/conf/ httpd.conf 中,將 localhost 替換為 127.0.0.1 並重新啟動服務器: 3639 毫秒

在 Windows/System32/drivers/etc/ hosts 中,添加“127.0.0.1 127.0.0.1”和“127.0.0.1 localhost”並重啟Windows: 3960 ms

在 Windows/System32/drivers/etc/ hosts 中,取消注釋“127.0.0.1 localhost”並重新啟動 Windows: 3659 毫秒

在php.ini中,取消的zend_extension = “C:\\ XAMPP \\ PHP \\分機\\ PHP_ eAccelerator在_ts.dll”並重新啟動服務器:3643毫秒

在 php.ini 中,設置 xdebug。 遠程啟用=0: 3598 毫秒

在 php.ini 中,設置 remote_host=" localhost ": 3593 ms

在 php.ini 中,設置 xdebug。 profiler_enable =0: 249 毫秒

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

可悲的是,我犯了錯誤,需要 Xdebug :-(

我用 xdebug idekey 設置 (xdebug.idekey="xdebug1") 和 chrome 擴展 xdebug helper ( https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc ) 解決了我的問題

*不要忘記禁用remote_autostart (xdebug.remote_autostart=0)

僅通過請求激活調試 (xdebug),使用 idekey 設置,因此如果不需要調試,php 處理可以更快/正常,通過帶有 chrome 擴展的按鈕進行切換

我在 Windows 10 64 位上使用 xampp 1.8.3,我使用自定義 idekey,xdebug.idekey="xdebug1",與 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"

設置1

在此處輸入圖片說明

在此處輸入圖片說明

現在僅當通過 xdebug 助手請求會話時才激活斷點/調試

我在 Windows Defender 中排除了我的網站文件夾和 xampp 文件夾,事情就在這里解決了。

我和xampp有同樣的問題,問題是WINDOWS DEFENDER,如果你禁用windows Defender保護,xampp會更快(正常速度),你也可以在windows Defender中搜索xampp文件夾作為排除。 這些就是解決方案。

我發現 Eclipse 沒有正確結束 XDebug 會話。 我通過重新啟動調試會話並正確結束它來解決這個問題。

我更改所有的以上變化之后,已經有所改善//本地主機:HTTPShttps://127.0.0.1

對於 chrome 用戶:我發現(在嘗試了上述所有提示后)Chrome 擴展程序“Evernote Web Clipper”也在降低 chrome 的速度。 當加載沒有任何內容的普通 URL 時:啟用/禁用 Evernote Web Clipper:0,7ms / 0,25ms

對我來說,mcAfee Web boost 擴展就是攔截器。 我刪除了擴展程序,現在它的速度提高了 90%

如果您在 PHP 腳本中使用 mysql db,請檢查您的 db 連接配置。

如果是 Windows (10) 上的 db 主機,請使用 127.0.0.1 而不是 localhost。

已解決 php - WAMP/XAMPP 在 localhost/wordpress 上的響應速度非常慢

最簡單的方法是轉到 c dirive > xamp > php 文件夾 > 搜索 php.ini > clink on top 然后找到 max_execution_time 將其設置為 max_execution_time=300 > 現在重新啟動 xamp > 全部完成 :)

max_execution_time=300

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM