Очень медленный Apache на Windows 7 - PullRequest
5 голосов
/ 29 июня 2010

Самый простой скрипт:

<?php echo 'hello';

Занимает около 3 секунд. Похоже, что большой промежуток времени Apache ожидает, пока не откроет веб-страницу.

Я пытался отключить антивирус, отключить ipv6 и многое другое, но Apache все еще работает очень медленно. Что мне делать?

EDIT:

Дополнительная информация:

  • Apache 2.2
  • PHP 5.2
  • Это только динамические файлы PHP. Статические файлы (html) обслуживаются мгновенно
  • Это не имеет ничего общего со спецификациями системы, это новый ПК

В журнале ошибок Apache есть несколько уведомлений о PHP:

[Thu Jul 01 08:37:21 2010] [error] [client 127.0.0.1] PHP Notice:  Undefined variable: ref in D:\\data\\o\\WebProjects\\elearning\\application\\modules\\clientarea\\controllers\\ViewController.php on line 578, referer: http://elearning/clientarea/view/course/teid/1/cid/1

Ответы [ 7 ]

13 голосов
/ 17 мая 2011

Обычно предполагается, что эта проблема вызвана тем, что ваш брандмауэр мешает работе IPv6 на ваших сетевых интерфейсах, однако эти решения не решили эту проблему для меня.Получается, что по умолчанию файл хостов Windows 7 в папке «C: \ Windows \ System32 \ drivers \ etc \ hosts» закомментирован в этой строке:

# 127.0.0.1 localhost

В моем случае просто раскомментирование этой строки изменилопроизводительность localhost вернулась к тому, что должна была быть, вместо того, чтобы раздражать 3-5 секунд ожидания при каждой загрузке страницы.Помните, что для редактирования файла hosts вам нужно запустить ваш текстовый редактор с правами администратора.

5 голосов
/ 06 мая 2014

У меня была такая же проблема. Изменение файла хоста не улучшило скорость загрузки страниц. После поиска часов я наконец нашел решение.

Я изменил свой файл httpd.conf, чтобы адрес прослушивания был привязан к одному IP-адресу вместо всех доступных интерфейсов:

#Listen 80
Listen 127.0.0.1:80

Теперь все веб-страницы загружаются мгновенно вместо ~ 10 секунд.

Надеюсь, что это поможет.

Редактировать: на самом деле это не решило проблему, оно все еще было случайно медленно. Я должен признать, что наконец-то переместил свой веб-сервер на виртуальную машину Linux, на которой больше никогда не наблюдал медленного ответа.

3 голосов
/ 02 ноября 2016

Я использую Laravel Framework, для меня работало изменение директивы realpath_cache_size = 1M в php.ini. Это изменило время загрузки с 3 секунд до полсекунды!

realpath_cache_size = 1M

0 голосов
/ 30 марта 2017

Единственное, что мне помогло, это снять галочку «зарегистрировать адреса этого подключения в dns» в параметрах ipv4 сетевого адаптера, кнопка под настройками DNS -> опустить два флажка.

0 голосов
/ 22 ноября 2015

Чисто, чтобы помочь любому, кто сталкивается с этой дилеммой медлительности Apache в Windows, я решил эту проблему, закомментировав ::1 localhost в C:\Windows\System32\drivers\etc\hosts и добавив 127.0.0.1 127.0.0.1.

.перезагрузите Apache в Windows Services, потому что мои сайты будут постепенно реагировать медленнее и медленнее.

Папка Apache htdocs не была открыта для общего доступа, изменение строки Listen ... в httpd.conf, похоже, не сработало, и яв моем файле C:\Windows\System32\drivers\etc\hosts уже была строка 127.0.0.1 localhost, но строка ::1 localhost была прямо под ней.

Как рекомендует @Erwinus в своем комментарии к верхнему посту, я закомментировал эту строку и этот пост Я добавил строку 127.0.0.1 127.0.0.1.Время отклика сервера значительно улучшилось.

0 голосов
/ 26 августа 2014

В моем случае по умолчанию стандартный корневой каталог документов C:\PathToApache\htdocs был предоставлен другим пользователям в локальной сети.Отключив общий доступ к этому каталогу, я значительно улучшил производительность Apache.Теперь каждый запрос занимает меньше, чем мгновение ока.

Надеюсь, это поможет всем вам, будущие читатели

0 голосов
/ 29 июня 2010

Используйте диспетчер задач, чтобы убить ненужные процессы.

Кстати, вы должны закончить свой скрипт с ?>.

...