WAMP / XAMPP очень медленно отвечает через localhost


123

Не знаю, в чем проблема. WAMP был очень медленным, поэтому я переформатировал свой компьютер и установил WAMP. Тем не менее, доступ к localhost очень и очень медленный, а иногда даже не загружается. Я даже удалил его и заменил на XAMPP, но результат тот же. В чем может быть проблема? Вот мой текущий файл hosts:

127.0.0.1       localhost

127.0.0.1       localhost

Раньше он отлично работал, но я не знаю, что произошло и почему в последнее время он начал вести себя странно, поскольку даже переформатирование не помогло.


4
У меня такая же проблема. Проблема была в главном файле настроек Apache httpd.conf. См. Эту ссылку для решения, которое сработало для меня: serverfault.com/questions/66347/…
vikky

Я добавил LoadModule php5_module "C:/xampp/php/php5apache2_2.dll"htpd.conf и перезапустил его, но это не помогло.
FBwall

Хм, у вас свежая установка xampp или запущены какие-нибудь фреймворки? Также вам не нужна эта строка 127.0.0.1 localhostв файле hosts дважды, поэтому попробуйте
удалить

проблема решена, я ничего не сделал. Он просто внезапно быстро отреагировал снова через пару дней. Вздох.
FBwall

@all, у меня есть вопрос для тех, кто предложил решение , которые включают добавление или замену текста с 127.0.0.1: что произойдет , если вы получаете доступ 127.0.0.2, или 127.1.2.3или какой -либо другой адрес замыкания на себя? Например, если MySQL привязан 127.0.0.2, будет ли работать жесткое кодирование 127.0.0.1в файлах конфигурации Apache?
Synetech

Ответы:


112

У меня была такая же проблема с Windows 8 на 64-битной версии. 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

Кредиты за эту конкретную задачу принадлежат Джефу, где он указал на это в своем сообщении в блоге . На рабочем столе Windows 8, нажмите Windows Keyи R keyв то же время

введите описание изображения здесь

Введите regedit в диалоговом окне "Выполнить" и нажмите "ОК".

введите описание изображения здесь

Используйте редактор реестра, чтобы развернуть дерево реестра и перейти к:

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

введите описание изображения здесь

Щелкните правой кнопкой мыши Parameters, разверните Newи выберите DWORD (32-bit)значение

введите описание изображения здесь

Введите DisabledComponentsв Nameполе

введите описание изображения здесь

Дважды щелкните новое DisabledComponentsзначение, войдите ffffffffв Value dataдиалоговое окно и нажмите OKкнопку

введите описание изображения здесь

Убедитесь, что новое значение реестра содержит необходимые данные.

введите описание изображения здесь

Измените свой etc / hosts

Если вы используете виртуальные хосты, не добавляйте каждый виртуальный хост в новую строку. Вместо этого перечислите их следующим образом. 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 запущено

В моем случае у меня было запущено два процесса 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 Pro

Как пользователь Windows 8 Pro вы имеете право на возврат к предыдущей версии Windows 7. Подробнее об этом читайте здесь . Для меня это было единственное решение, которое действительно работало должным образом.

Удачи!


7
это хорошая подборка ответов, единственное, что я сделал и работал для меня, это отключил IPv6, вот и все, спасибо;)
AgelessEssence

22
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; это ожидаемо и нормально . Второй - рабочий, который выполняет основную работу, а первый - это просто монитор, который может перезапустить рабочего, если он выйдет из строя. Вы получаете только один в режиме отладки, который не предназначен для регулярного использования.
Synetech

Все эти вещи могут быть недействительными, обычными и т. Д., Но, по крайней мере, это заставляет apache работать быстрее. То, что вам придется ждать десять секунд, чтобы загрузить страницу, также не ожидается, но это обычное явление в системах Windows. В конце концов, может быть лучше переключиться на Mac или Ubuntu, если вы не возражаете против ошибок в системе.
велосипед

Очень хороший, подробный комментарий, но с небольшим недостатком для меня ... вместо того, чтобы помещать Apache на порт 8080, нам лучше запретить Skype использовать порты 80 и 443. Это делается в настройках соединения Skype. Указание на 8080 не является хорошей практикой с точки зрения разработчика, в основном потому, что это может конфликтовать с Apache Tomcat, который по умолчанию работает на 8080 и также включен в пакет XAMPP.
Мартин Асенов

1
@MartinAsenov: если это только Skype, ничего страшного, Skype можно легко перенаправить на другой порт. Но у меня есть проблемы с портом 80 с некоторыми другими программами, такими как Dropbox , которые не так просто переместить на другой порт.
Павел В.

72

Это вызвано IPV6. Вот как вы заставляете MYSQL его не использовать. (так, без отключения IPV6)

отредактируйте файл mysql 'my.ini'

под [wampmysqld] добавьте следующее:

bind-address = ::

Сохраните файл и перезапустите службу mysql

наслаждаться!


1
Просто хотел поблагодарить за этот ответ ... это помогло мне ускорить выполнение запросов!
BrownChiLD

1
Отлично! Я дал ваш ответ с вероятностью 5%, что это поможет, но это действительно помогло! Спасибо.
AndiPower 04

3
Спасибо, чувак. Скорость значительно улучшилась ... Поскольку я использую XAMPP, я добавил его в [mysqld]
Сабир Мохаммед

2
Этот трюк мне очень помог ... он делает мой сервер MySQL почти в 100 раз быстрее ... он будет работать на WAMP или XAMPP .. Для XAMPP просто удалите знак # перед строкой "bind-address = ::" ..
Aldry Wijaya

1
Ты мой герой!
Эндрю Сурду

53

посмотрите здесь:

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

В основном используется 127.0.0.1вместо localhostподключения к mysql через php в Windows 8

если вы обнаружите, что phpmyadmin медленно

в config.inc.phpвы можете изменить локальный , чтобы 127.0.0.1также


2
Это сокращает время запроса примерно на 80%. Почему PHP так медленно подключается к MySQL через localhost под Windows 8?
wowpatrick

1
Это не помогло мне :( Я знаю, что когда-то это исправлялось, но по какой-то причине сейчас это не работает, садпанда.
Бенно

Это уменьшило время отклика до 20% на Windows 8.1. Спасибо за ответ. Тот же вопрос, что и у wowpartick
Ejaz

Отлично - время запроса сократилось с 1,03 сек. до ~ 15 мс. Спасибо! (Используется win8.1 64bit)
user2345998

У меня была такая же проблема, windows 8, phpmyadmin на localhost открывал одну небольшую таблицу (29 тыс. строк) навсегда ... как только я изменил адрес в строке URL на 127.0.0.1, он загрузился мгновенно ... очень странно
luky

43

В моем случае время загрузки в 5 раз быстрее, если это отключено в php.ini:

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

1
Я уже больше года ищу причину этого. Для меня это был главный и единственный виновник. Вот сообщение, в котором описывается, что вы можете делать помимо отключения Xdebug: stackoverflow.com/questions/24893010/… Спасибо!
Pascalculator

1
Спасибо, спасибо, спасибо, спасибо !!! Я пробовал все, что написано здесь и в других местах. XDEBUG был тем, что замедляло работу phpMyAdmin до чертиков. И вот он снова летает!
hbit 05

1
Точно такая же проблема, даже с более новой копией расширения. Просто для меня быстрее закомментировать его, когда он не нужен, но, вероятно, связан с одной из других настроек .ini с расширением.
Мартин Шатт,

1
Ты герой! В конце концов, я оставил xdebug включенным, но отключил профилировщик, и мой скрипт ускорился с 5 минут до 5 секунд. Спасибо!
user3640967

1
для меня это было единственное, что могло его ускорить. Удивительно, но Internet Explorer 11 оказался действительно быстрым с включенным xdebug. chrome и ff были чертовски медленными ...
Guntram

43

Решение, которое сработало для меня, заключалось в отключении cgi_module . Воспользуйтесь одним из следующих способов:

(Метод 1) Щелкните правой кнопкой мыши WAMP> Apache> Модули Apache> снимите флажок 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 Test Environment.
fidev

Да, я много чего пробовал - у меня это работает с XAMPP на W7Pro. Также, похоже, исправлены некоторые раздражающие зависшие обновления phpMyAdmin, где PMA находится со значком часов.
anoldermark

Это единственное, что у меня сработало. Все другие известные исправления, которые я пробовал, не сработали, но это
сработало

20

Для меня, использующего xDebug, эта строка в php.ini была убийцей производительности:

xdebug.remote_autostart=true

Когда я удалил его, страница снова стала быстрой.


Отключение расширения xdebug (строка zend_extension) сработало для меня. Теперь мне нужен новый отладчик -.- «Спасибо, что указали мне правильное направление»
Космос


13

Я пока не могу комментировать ответ @Honesta, поэтому я напишу здесь, как мне удается его решить.

Мое окружение (не знаю, актуально ли это для ответа)

  • XAMPP (версия 5.6.3)
  • Windows 8.1 Pro (64-разрядная)

Как

Я только что открыл my.iniфайл и раскомментировал строку, в которой говорится

bind-address="127.0.0.1"

Этот файл находится для пользователей XAMPP в C:\xampp\mysql\bin\my.ini.

кредиты

Эта статья помогла мне решить проблему, хотя мне было не нужно все в ней, потому что некоторые настройки в XAMPP не запрашивались.


9

Я только что исправил такую ​​проблему на моем ноутбуке с Windows 10. Внезапно wamp стал очень медленным - запрос на загрузку страницы занимал 2 минуты.

После многочисленных попыток решить проблему оказалось отключение защитника Windows. После этого все заработало как шарм.

ps Я бы посоветовал вам добавить корневой каталог apache в список исключений и не отключать защитник полностью.


ЭТОТ!!!! Вы спасатель жизни, потратили часы и часы, пытаясь разобраться в этом !!
Gisto

Это сработало для меня как шарм, я боролся с этой проблемой в течение нескольких недель
Мохаммед Черкауи

6

Как указывалось в большинстве ответов, использование IP-адреса 127.0.0.1 поверх «localhost» иногда помогает решить проблему медлительности, но на самом деле это не решение, потому что оно не устраняет проблему подчеркивания.

Что делает эту проблему сложной (и случайной), так это то, что она может быть вызвана примерно дюжиной разных вещей между ОС, конфигурацией WAMP и вашим браузером.

  1. Удалите ::1 localhostиз файла hosts в Windows и убедитесь, что 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. Очистить кеш DNS Windows: ipconfig /flushdns

  7. Очистите кеш вашего браузера.

Это руководство немного более подробно: WAMP работает очень медленно


Первое, что я делаю, и он отлично работает, другие трюки, о которых говорилось выше, определенно могут сработать, просто потому, что это в нижней части ответов, я сначала попробовал это и решил свою проблему, круто!
Agung Sagita


4

После того, как я попробовал каждую инструкцию в этом посте, у меня все работает, когда я добавляю:

Avira >>
Real-Time Protection >>
Configuration >>
Exception >>

Добавить процесс:

  1. XAMPP \ Apache \ Bin \ httpd.exe
  2. XAMPP \ MySQL \ Bin \ mysqld.exe
  3. XAMPP \ XAMPP-control.exe

введите описание изображения здесь


Я использую Защитник Windows, и это решение у меня сработало, я просто добавил три файла в список «Исключенные процессы» в Защитнике
Кевин

3

Я использую wamp64 на своей машине с Windows 10. У меня была такая же проблема, и отключение Xdebug из моего файла php.ini решает проблему для меня.

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

2

У меня такая же проблема. Время отклика было чрезвычайно медленным, а обновления в большинстве случаев работали быстро. Все предложения, сделанные на велосипеде, не помогли. Что, по-видимому, пока что помогает лучше всего (без медленного отклика за последние 30 минут), так это сброс winsock, как описано здесь: http://www.devside.net/wamp-server/wamp-is-running-very-slow

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

После этого вам нужно перезагрузить.


Просто не забудьте выполнить как администратор.
Марсело Агимовель

2

Используя Windows 10 (июнь 2018 г.), мне удалось улучшить загрузку, которая увеличилась с 2 секунд до менее 400 миллисекунд, выполнив ряд вещей, которые я видел в этом посте и в Интернете.

Отключен xdebug в php.ini

; [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 = ::

И отключение модуля cgi, такого как @Iulian Dita, сказал

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.

1

Была такая же проблема в Chrome, и она не исчезла после применения всех известных средств. Для меня решение заключалось в том, чтобы снять флажок « Включить защиту от фишинга и вредоносного ПО » в настройках Chrome (Настройки -> Показать дополнительные настройки -> Конфиденциальность). После этого localhost работает молниеносно.


1

У меня тоже была эта пробема.

Я добавил предложенные выше записи, но это не сработало.

Это произошло из-за того, что Spybot Search и Destroy добавили 15 000 строк иммунизированных сайтов (то есть не позволяют вам их посещать) в мой файл hosts.

Мой файл hosts был 433 КБ - я удалил эти строки, и скорость загрузки моей страницы значительно улучшилась.



1

Проблема была в плане электропитания. Изменен баланс на высокую производительность.


1

У меня были подозрения, что Chrome на какое-то время становится глупым и громоздким, и мои проблемы начались после его обновления. Поскольку Ampps работает лучше при подключении к Интернету, я поставил 1 + 1 вместе. В расширенных настройках Chrome попробуйте покопаться на веб-страницах предварительной загрузки для повышения производительности. И убить его.

Иронично, но не неожиданно, так как кажется, что запуталась с предварительной загрузкой Localhost. В моем случае это было мгновенное исправление после нескольких часов бесполезной работы с конфигурациями и недель страданий.

Спасибо разработчикам Google.


0

У меня такая же проблема, но я решаю проблему из базы данных. Я переименовал имя таблицы и создал новую таблицу без индекса, через который выполнялись все индексы, и у меня было огромное количество данных в таблице. Я снова переименовываю исходную таблицу, она исправлена ​​для меня ,


0

Если вы используете PHP Xdebug для отладки, удалите этот файл. У меня это сработало. Время отклика уменьшено с 950 мс до 125 мс.


0

Я не знаю почему, но закрытие моего интернет-соединения решило эту проблему для меня.


0

Попробовав здесь несколько ответов и комментариев, я наконец нашел решение! В этой статье Правильный способ настройки PHP Я нахожу новый способ настройки PHP как модуля в Apache.

Для автора этой статьи официальный способ настройки 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

Помимо этого, я откатил все другие решения, которые пробовал, поэтому уверен, что это единственные, которые я использовал.


-2

Просто попробуйте режим "инкогнито" в Chrome.

Наконец, это помогло мне решить мою проблему.

Имейте в виду, это не постоянное решение.


-6

Я бегаю на wamp, и однажды у меня была эта проблема. На это может быть много факторов, но я могу выделить 5 основных.

Первый. Программа может вызвать это (даже антивирусное программное обеспечение зависит от того, что у вас есть.)

Второй. Ваш компьютер заполнен или занимает много места? Это случилось с моим партнерским сайтом.

Третий. Проверьте свои файлы regerstry, нет ли ошибок или других вещей. (Это стало моей проблемой.)

Четвёртый. После того, как вы удалили его, вы вручную удалили файлы, которые остались на вашем компьютере. (Да, даже после удаления с помощью wamp он имеет тенденцию оставлять папку или 2 с некоторыми важными данными. При установке это не будет повторно изменено и останется прежним.)

Пятые. Загрузите последнюю версию Wamp или самую последнюю стабильную версию.

Надеюсь, что одна из этих вещей поможет.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.