it-swarm.com.ru

XAMPP на Win7 слишком медленный

Я использую XAMPP 1.7.1 на Windows 7 Ultimate. Все (Apache & MySQL) работает нормально, кроме скорости.

Когда я открываю http: // localhost/ , мне приходится ждать 1-3 секунды для просмотра веб-страницы. На мой взгляд, это должно быть не более нескольких сотен миллисекунд.

Основные факты:

  • в ожидании загрузки веб-страницы localhost в строке состояния отображается сообщение «Ожидание localhost ...»
  • Процессор все еще бездействует (нет повышенной активности при загрузке)
  • на localhost нет требовательных PHP скриптов, проблемы возникают, когда есть простой phpinfo (), даже если есть длинные тяжелые скрипты.
  • отключение сервера MySQL не влияет на скорость
  • мой компьютер: AMD Turion 64 X2; 1,6 ГГц двухъядерный, 2 ГБ ОЗУ, 100 ГБ HDD

Я сделал небольшой простой скрипт 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>";

?>

Результаты моего ПК:

  • Чтение/запись: 5.134/3.431/3.494 
  • Скорость процессора: 0,816/0,767/0,795

Результаты веб-хостинга:

  • Чтение/запись: 7.768/7.69/7.371
  • Скорость процессора: 0,232/0,234/0,234

Один из результатов моего сервера (такой же простоя, как и мой компьютер, но немного быстрее):

  • Чтение/запись: 0,088/0,168/0,185
  • Скорость процессора: 0,191/0,189/0,189

Так что я не думаю, что это из-за скорости моего ПК, но я уверен, что есть еще одна проблема .. Есть ли у вас опыт работы со скоростью XAMPP в Windows 7 (или Vista)?

Благодарю.

26
Martin

Как насчет того, чтобы попробовать Wamp Server?

Установочный файл намного меньше (16 МБ) по сравнению с XAMPP (44 МБ).

http://wampserver.com/

2
Yada

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

43
JoeV

Не уверен, что это может быть причиной ваших проблем, но это может быть идея: у вас есть строка, которая выглядит следующим образом:

::1 localhost

в ваших хостах (должно быть где-то вроде C:\WINDOWS\system32\drivers\etc\hosts, если я правильно помню) file?

Если да, прокомментируйте эту строку, добавив # в начале.


Таким образом, единственная строка о localhost должна быть

127.0.0.1    localhost

который является адресом IPv4; и тот, который вы прокомментировали как IPv6 - что совсем не полезно для того, что вы пытаетесь сделать.


Как я уже сказал, не уверен, что ваша проблема связана с этим, но я видел, как это sugestion помогло пару раз для проблем, очень похожих на вашу (то есть ожидание долгое время, прежде чем что-то делать на сервере) .

15
Pascal MARTIN

Прокомментируйте строки в PHP.ini с помощью XDEBUG:

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

 Я отключил Bitdefeender -> нет результата 
 Я добавил строки к хостам -> нет результата 
 Я отключил xdebug - x2-x3 быстрее 

С наилучшими пожеланиями Барто

15
Barto

У меня была похожая проблема с Win 7 + XAMPP. Проблема была вызвана моим антивирусом. Когда она была включена, даже самая простая страница PHP открывалась дольше половины секунды. Большие PHP сценарии с большим количеством цепочек require_once () занимали более 1,5 секунд. При отключенном антивирусе все работало быстро (менее 100 миллисекунд на простые страницы и около 500 миллисекунд для действительно тяжелых вещей (более 100 цепочек require_once ())).

Я использую bitdeffender и вот решение для этого:

  1. Простое решение - просто переключите bitdefender на game mode при работе с xampp
  2. «Расширенное» решение - перейдите к Antivirus -> Shield -> Advanced Settings -> Exclusions Tab и там добавьте исключение для httpd.exe (находится в вашей инсталляции xampp/Apache/bin /). Затем перейдите к Antivirus -> Exclusions и добавьте исключение для каталога, в котором находятся ваши php-файлы.

Не забудьте перезапустить Apache после вышеуказанных шагов.

При желании вы можете установить eaccelerator, чтобы ускорить процесс.

В качестве примечания: я нашел WAMP менее зрелым проектом, чем XAMPP.

Примечание 2: Лучшее решение - использовать ваш старый компьютер в качестве сервера Linux, и все будет работать как по вкусу :-)

11
Ognyan

Прочитав несколько ответов - ни один из них не помог (я даже удалил свой антивирус).

Что мне очень помогло, так это отключение xdebug . Теперь все стало очень быстро.

8
Ronny Sherer

Эта проблема может быть вызвана двумя причинами. Антивирусное программное обеспечение и параметры в 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 и т.д.). Чтобы проверить это, вы также можете временно отключить антивирус, но долгосрочное исправление - исключить папку и подпапки.

2
Sanket Gupta

Подключение к БД с использованием 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»

1
ChelaTheGreat

В C:\WINDOWS\system32\drivers\etc\hosts я прокомментировал эти строки

# 127.0.0.1 localhost
# ::1       localhost

и еще около 100 строк других правил Решение состоит в том, чтобы стереть все эти правила или раскомментировать 127.0.0.1 localhost и поместить сверху.

1
bumbu

МОЙ ЖУК - XAMPP ОЧЕНЬ МЕДЛЕННЫЙ

Мой Xampp замедлился и возможная остановка была вызвана предупреждающими сообщениями, заполняющими журнал php - читайте дальше

1 - Localhost/127.0.0.1 - без помощи

2 - Вмешательство вирусного программного обеспечения - не помогает

3 - Помехи порта изменяются на 8080 - без помощи

4 - Wamp - то же самое - без помощи

в итоге все вышло из строя с 500 ошибками.

C:\xampp\php\logs\php_error_log был почти МБ (957 КБ)

слишком большой для notepadd ++ (моя первая подсказка, я кое-что понял), и блокноту потребовалось несколько минут для рендеринга.

Тысячи сообщений типа «Строгий» и «Предупреждение»

ИСПРАВИТЬ

изменил php.ini display_errors = On на = Off "Там есть несколько других переключателей включения/выключения ошибок, но этот сделал это для меня."

неназванный журнал

перезапустил Apache и MySQL

Жизнь хороша.

1
Joe

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

да, вы слышали, что xampp создаст эти файлы.

 enter image description here

Теперь, если у нас есть проблема, то есть решение. мы можем вращать файлы журналов на каждый день. вот шаги

  1. Отредактируйте ваш httpd.conf по этому пути «Xampp/Apache/conf/httpd.conf»
  2. Вы найдете CustomLog "logs/access.log" common
  3. заменить на CustomLog "|bin/rotatelogs.exe logs/access_%y-%m-%d.log 86400" common
  4. Вы можете сделать то же самое с файлами logs/error.log.
  5. для получения дополнительной информации о программе поворота, пожалуйста, следуйте https://httpd.Apache.org/docs/2.4/programs/rotatelogs.html

я также согласен с Disble Xdebug тоже поможет.

1
chudasamachirag

С риском констатировать очевидное - проверьте размер вашего хост-файла. Файл моего хоста увеличился до 450 КБ из-за того, что Spybot добавил исключения для каждого вредоносного сайта, который когда-либо существовал, даже если эти сайты больше не были активны. Spybot прокомментировал эти 10000+ записей с датой авторского права 2008 года, что делает их в любом случае бесполезными.

Я не знаю, делает ли это другое программное обеспечение для защиты от шпионских программ, но файл hosts должен быть достаточно маленьким, чтобы XAMPP не приходилось перелистывать URL-адреса исключений каждый раз, когда он отображает страницу. Кстати, если у вас установлено какое-либо взломанное программное обеспечение, которое я, конечно, не одобряю, будьте осторожны, чтобы не удалять исключения хостов, которые блокируют сайты проверки в режиме онлайн.

1
VanAlbert

Это то, что я сделал, и это ускорило работу XAMPP:

  1. Новый и неиспользованный адрес обратной связи назначен моему сайту в файле hosts (C:\Windows\System32\drivers\etc\hosts). Другими словами, я избегал использования 127.0.0.1, используемого для других сайтов: 

    127.0.0.2 example.com

  2. В файле Apache httpd.conf добавлено:

    Listen 127.0.0.2: 80

  3. Поскольку у меня есть несколько сайтов, у меня есть подпапки в htdocs для каждого сайта. В этом примере имя foldername - example.com, и именно там находится мой сайт. Поэтому добавил VirtualHost, снова в мой файл httpd.conf, например, так: 

    <VirtualHost 127.0.0.2:80> ServerAdmin [email protected] 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>

  4. Перезапустил Apache.

После этого посещение сайта example.com в браузере загружается очень быстро.

0
Goboca

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

Я удалил xampp, который был на C: drive.

Установил его на другой диск (E:)...

и не знаю, но работает нормально и быстро ....

0
Pratik

Я использую антивирус Avast и решил проблему простым щелчком мыши. Щелкните правой кнопкой мыши значок Avast и выберите «Тихий/игровой режим». Это все.

0
lesm

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

я нашел хороший совет здесь:
[ http://www.devside.net/wamp-server/wamp-is-running-very-slow

инструкции были следующими: Редактировать файл – C:\Windows\System32\drivers\etc\hosts

Закомментируйте строку, добавив перед собой знак "#":

:: 1 localhost

Если «localhost» будет преобразован в IP-адрес «:: 1», запрос (когда не удается найти сокет прослушивания IPv6) будет перенаправлен обратно на IP-адрес 127.0.0.1 (через тайм-аут, откат или другой механизм). ), вызывая ненужные задержки для соединений (например, обычно от 1 до 30 секунд).

Убедитесь, что «localhost» правильно сопоставлен с адресом обратной связи IPv4 «127.0.0.1» (… что эта строка не закомментирована): 127.0.0.1 localhost

0
OurHighHopes