Подтвердить что ты не робот

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

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

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

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

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

Я сделал небольшой простой тест PHP script для тестирования скорости жестких дисков /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)?

Спасибо.

4b9b3361

Ответ 1

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

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

http://wampserver.com/

Ответ 2

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

Ответ 3

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

::1 localhost

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

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


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

127.0.0.1    localhost

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


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

Ответ 4

Прокомментируйте строки в 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"

    I disabled Bitdefeender -> no result
    I added lines to hosts -> no result
    I disabled xdebug - x2-x3 faster 

С уважением Барто

Ответ 5

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

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

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

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

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

Как я отмечаю: я нашел WAMP менее зрелым, чем проект, чем XAMPP.

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

Ответ 6

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

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

Ответ 7

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

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

Ответ 8

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

# 127.0.0.1 localhost
# ::1       localhost

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

Ответ 9

Мой 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

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

Ответ 10

Для меня работало подключение к БД с использованием 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 секунды.

Кроме того, с помощью этого решения вам не нужно изменять свое соединение в коде соединения с DB, вы можете продолжать использовать "localhost" вместо "127.0.0.1"

Ответ 11

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

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

Ответ 12

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

Что я сделал - я удалил xampp, который был на C: drive.

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

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

Ответ 13

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

Ответ 14

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

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

инструкции были следующими: Редактировать файл - C:\Windows\System32\Drivers\Etc\хостов

Прокомментируйте строку, добавив '# впереди:

:: 1 localhost

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

Убедитесь, что "localhost" правильно сопоставлен с петлевым адресом IPv4 "127.0.0.1" (... что эта строка не закомментирована): 127.0.0.1 localhost

Ответ 15

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

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

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

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

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

Я также согласен с небезопасным Xdebug также поможет.

Ответ 16

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

  • Назначил новый и неиспользуемый loopback-адрес на мой сайт в файле 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 для каждого сайта. В этом примере имя папки 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>

  • Перезапуск Apache.

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