Лоток WAMP отображается оранжевым значком, так как мой порт 80 недоступен в столкновении с портом 80 в http.conf [duplicate]

Когда вы пишете [x]*3, вы получаете, по существу, список [x, x, x]. То есть список с 3 ссылками на тот же x. Когда вы затем изменяете этот сингл x, он отображается через все три ссылки на него.

Чтобы исправить это, вам нужно убедиться, что вы создаете новый список в каждой позиции. Один из способов сделать это -

[[1]*4 for n in range(3)]

, который будет повторно оценивать [1]*4 каждый раз, а не оценивать его один раз и делать 3 ссылки на 1 список.


Вы можете удивиться почему * не может создавать независимые объекты так, как это делает понимание списка. Это потому, что оператор умножения * работает с объектами, не видя выражений. Когда вы используете * для умножения [[1] * 4] на 3, * видит только 1-элементный список [[1] * 4], а не текст выражения [[1] * 4. * не имеет понятия, как делать копии этого элемента, не знаю, как переоценить [[1] * 4], и не подозревайте, что вы даже хотите копировать, и вообще, возможно, даже не было способа скопировать элемент.

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

Напротив, понимание списка переоценивает выражение элемента на каждой итерации. [[1] * 4 for n in range(3)] пересчитывает [1] * 4 каждый раз по той же причине [x**2 for x in range(3)] каждый раз переоценивает x**2. Каждая оценка [1] * 4 генерирует новый список, поэтому понимание списка делает то, что вы хотели.

Кстати, [1] * 4 также не копирует элементы [1], но это не имеет значения , так как целые числа неизменны. Вы не можете сделать что-то вроде 1.value = 2 и превратить 1 в 2.

36
задан RiggsFolly 24 June 2014 в 09:07
поделиться

11 ответов

Прежде чем вы сможете исправить что-либо, вам нужно знать, какая служба еще не запущена, Apache или MySQL.

Поскольку утилита TEST PORT 80 говорит, что Apache запускает, вероятно, службу MySQL, которая еще не началась. Если у вас нет другого запуска Apache!

Итак, какая служба не началась ???

Если значок wampmanager не является ЗЕЛЕНЫМ, тогда одна из служб (Apache / MySQL) не началась

Как узнать, какая служба не запущена, если значок wampmanager оранжевый.

Щелкните левой кнопкой мыши по значку wampmanager, чтобы открыть меню-> Apache -> Сервис. Если Start / Возобновить сервисное меню - зеленый, а затем Apache НЕ работает .

Щелкните левой кнопкой мыши по значку wampmanager, чтобы открыть меню-> MySQL -> Сервис. Если в меню «Пуск / возобновление» указано «Зеленый», MySQL НЕ работает .

Если Apache - это служба, которая не работает, это обычно, но не всегда, потому что что-то еще захватило порт 80.

Теперь сделайте это, щелкните левой кнопкой мыши по значку wampmanager, чтобы открыть меню -> Apache -> Сервис -> тестовый порт 80. Это запустит окно команд и отобразит некоторую информацию о том, что, если что-то использует порт 80.

Что бы это ни было, нужно перенастроить, чтобы не используйте порт 80 или удалите его, если вы его не используете.

Если порт 80 не является проблемой, найдите ошибки в соответствующем журнале ошибок (используйте меню диспетчера Wamp для просмотра журналов ошибок)

Если они не существуют или не показывают ошибок, также проверяйте средство просмотра событий Windows Start -> Administrative Tools -> Event Viewer. Посмотрите в разделе «Журналы Windows» -> Приложение », доступ к которому находится в меню слева от диалоговое окно для сообщений об ошибках из Apache и MySQL.

Если его MYSQL, который еще не запущен.

Проверьте журнал ошибок mysql с помощью меню

wampmanager->MySQL->error log

Проверьте журнал событий Windows для сообщений из MYSQL

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

Как настроить SKYPE, чтобы он не требовал порт 80 или 443

Запустите SKYPE, затем с помощью меню сделайте следующее: Инструменты -> Параметры -> Дополнительно -> Соединение Отключить флажок рядом с «Использовать порты 80 и 443 в качестве альтернативы для подключения соединений». Теперь перезапустите SKYPE для эти изменения вступят в силу.

Если вы используете Windows 8, SKYPE поставляется в виде приложения, и это невозможно (пока) настроить таким образом. Однако если вы удалите приложение SKYPE и установите SKYPE по-старому, вы можете перенастроить его, и он работает так же хорошо.

122
ответ дан RiggsFolly 21 August 2018 в 01:53
поделиться
  • 1
    Спасибо за помощь. Я нашел проблему после небольшого исследования после публикации этого вопроса. Это был сервис MySQL, который не запускался должным образом, поскольку у меня был установлен клиент MySQL, который Wamp не поддерживал его версию. Я загрузил надстройку MySQL с веб-сайта Wamp и установил его, и это сделало трюк. – Jethro 10 February 2014 в 16:04
  • 2
    Просто узнал о Event Viewer из Windows, очень полезен! спасибо – CatalinBerta 10 March 2015 в 15:11
  • 3
    Если в меню «Службы Apache» нет способа щелкнуть по началу или остановке службы, вам, скорее всего, нужно нажать «Установить службу», - Это заставило меня бежать! – James Wilson 17 November 2015 в 15:35
  • 4
    Очень полезно. Обратите внимание, что в окнах 10 порт 80 используется сервером IIS. Все объяснено в этом потоке stackoverflow.com/questions/30758894/… – PIIANTOM 26 September 2016 в 21:33
  • 5
    Event Viewer решил это для меня, большое спасибо за вашу помощь! – Adrian Pauly 2 November 2016 в 17:03

Если вы используете wampserver 3 (рекомендуется, обычно не работает конфигурация)

  • щелкните значок wampserver> apache> администрирование службы> установка службы
  • щелкните значок wampserver> mysql> сервисное администрирование> установить службу
  • щелкнуть значок wampserver> mariadb> администрирование службы> установить службу
  • щелкнуть значок wampserver> перезагрузить все службы

если это не исправить, попробуйте:

  • щелкните правой кнопкой мыши значок wampserver> Инструменты> Проверить синтаксис httpd.conf (затем исправить проблему, которую он идентифицирует и перезапустить все службы, вероятно, это плохой синтаксис на ваших виртуальных хостах файл)
  • щелкните правой кнопкой мыши значок wampserver> Инструменты> тестовый порт 80 (вы, вероятно, включили скайп или что-то еще, выключите его и перезапустите все службы)

Если это не исправить, возможно, конфликт окон:

Если это не исправить:

  • щелкните правой кнопкой мыши erver icon> инструменты проверяют все те, которые используются для подсказок
1
ответ дан Andrew 21 August 2018 в 01:53
поделиться

Чтобы добавить к предыдущему сообщению ^^:

Если какая-либо из служб не запущена, это может просто быть просто потому, что их нужно установить / настроить. Это легко сделать прямо из значка WampManager. Если Apache не запущен:

 WampManager Icon -> Apache -> Service -> Install Service

Вы должны получить всплывающее окно командной строки, если порт 80 свободен (если нет, см. Выше сообщение):

      'Your port 80 is available. Install will proceed.

       Press Enter to continue...'

Если MySQL не запущен:

WampManager Icon -> MySQL -> Service -> Install Service

Сделайте это для одной или обеих служб, тогда:

WampManager Icon -> Restart All Services

Значок теперь станет зеленым:)

62
ответ дан elektrykalAJ 21 August 2018 в 01:53
поделиться
  • 1
    Это решение работало для меня: D Followed & quot; If apache not running & quot ;. И это сработало. – Gereltod 12 November 2014 в 19:48
  • 2
    Большое спасибо! Я установил обе службы и нажал кнопку «Перезапустить все службы»; в меню WAMP. WAMP перезапущен с зеленым значком. – Lil' Bits 25 February 2015 в 01:10
  • 3
    Это сработало для меня. Благодаря! – Tony Brasunas 2 June 2015 в 01:25
  • 4
    это не сработало для меня, так как в моем случае MYSQL не работает – Prince Vijay Pratap 7 August 2015 в 10:15
  • 5
    Спасла мою жизнь – Stranded Kid 9 December 2015 в 22:58

Это может произойти по одной из трех причин: -

1) Отсутствует установка VC ++: Установите все версии пакетов перераспределения VC ++ VC9, VC10, VC11, VC13, VC14 и VC15. См. Ссылку, указанную в конце для ссылки для загрузки. Если у вас 64-разрядная Windows, вы должны установить как 32, так и 64-битные версии каждого пакета VisualC ++, даже если вы не используете бит Wampserver 64.

2) Вы забыли предоставить права администратора на WAMP Server : Запуск и установка с параметром «Запуск от имени администратора» очень важны.

3) WAMP, IIS и Skype сражаются за один и тот же порт:

0
ответ дан Hitesh Sahu 21 August 2018 в 01:53
поделиться
  • перейти к C: \ wamp \ bin \ mysql \ mysql5.6.17
  • искать «my.ini»; щелкните правой кнопкой мыши, чтобы отредактировать его, используя свой любимый редактор (notepad ++, jedit & hellip;)
  • найдите 3306 и измените его на 3307
  • , перезагрузите все службы, и он должен работать: )
0
ответ дан Nathan Tuggy 21 August 2018 в 01:53
поделиться

Диск сервера Wamp сервера "C://", если вы не используете его на другом диске для ex G://: перейдите к

  1. g:\\wamp\bin\apache\apache2.4.9\bin\

2.call cmd

3 .execute httpd.exe -t

вы увидите ошибки

  1. перейти к g:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-autoindex.conf
  2. изменить в строке 23 на:

Alias /icons/ "g:/Apache24/icons/"

<Directory "g:/Apache24/icons">
    Options Indexes MultiViews
    AllowOverride None
    Require all granted
</Directory>
  1. Перезапустить Все услуги. Готово. Решено
4
ответ дан NickUnuchek 21 August 2018 в 01:53
поделиться
  • 1
    да это наиболее полезно – Andrew 21 November 2016 в 19:24
  • 2
    эй, спасибо за решение. ключ должен был выполнить файл httpd.exe. то он показывает, чего не хватает. В моем случае были некоторые папки внутри www-папки, которые я удалил, и забыл удалить директивы на httpd-vhosts.conf [C: \ wamp \ bin \ apache \ apache2.2.22 \ conf \ extra]. затем я удалил эти директивы [тег VirtualHost] в httpd-vhosts, и все. – Raimundo Yabar 20 July 2017 в 16:33

Если вы установили как Wampmanager, так и боковую стопу Bitnami на ваш Windows-бокс (например, я сделал), убедитесь, что Bitnami не был настроен автоматически запускать свои службы wampstackApache и wampstackMySQL при запуске.

Чтобы проверить / исправить это, нажмите: Пуск -> Выполнить, а затем введите services.msc и нажмите «ОК».

Выберите Службы в списке слева и выполните сортировку служб по имени. Выделите «w». Если службы wampstackApache и / или wampstackMySQL уже запущены, щелкните правой кнопкой мыши и остановите оба. Затем перезапустите все службы из значка Wampmanager W в лотке служб Windows.

Если это была ваша проблема, вы можете изменить поведение запуска по умолчанию на ручной запуск wampstackApache и wampstackMySQL на вкладках «Свойства».

0
ответ дан Ralph Frost 21 August 2018 в 01:53
поделиться

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

В конце концов я понял, что проблема связана с тем, что я изменил DocumentRoot на подпапку каталога www , так как раньше я работал над проектом Symfony2 внутри www.

С новым проектом, над которым я работаю внутри www, этот старый каталог DocumentRoot больше не существует, поэтому Apache не смог запустить.

wampserver -> Apache -> httpd.conf, затем найдите «DocumentRoot» и убедитесь, что каталог, на который указывает он, или изменит его на тот, который делает.

Спасибо RiggsFolly, это был из-за вашего намека на просмотр событий выше, что я нашел проблему.

6
ответ дан SteveW 21 August 2018 в 01:53
поделиться
  • 1
    Я переместил свой локальный репозиторий на c: \ wamp \ www, чтобы я мог тестировать AJAX последовательно. Забыл изменить DocumentRoot! – Kirk Powell 26 February 2016 в 22:44

ПОЖАЛУЙСТА ЗАМЕТЬТЕ! Если вы прошли через все вышеперечисленное, например «Я», и все еще получают значок Orange, а когда вы тестируете порт 80, вы получаете «Apache», посмотрите файл: c: / wamp / bin / apache / apache2.4.9 / conf / httpd.conf (ваш номер версии Apache может отличаться).

В файле о строке # 62 вы найдете примечание, в котором говорится:

Слушайте 0.0.0.0:80 Слушайте [:: 0]: 80

Почему?

Измените это, чтобы прослушивать определенные IP-адреса, как показано ниже, чтобы предотвратить использование Apache все связанные IP-адреса.

Я изменил это, чтобы соответствовать моему IP-адресу localhost, и когда я перезапустил Wamp, он быстро перешел от Red to Green. Успех! ... через 3 часа ....

1
ответ дан Thomas Garrison 21 August 2018 в 01:53
поделиться

После удаления innodb_additional_mem_pool_size = 4M из my.ini и убийства этого процесса, который использовал порт, который захотел Mysql, мне удалось это сделать.

Рекомендуемое исправление: 1) Быстрое решение: Комментировать строку innodb_additional_mem_pool_size = 4M в файле my.ini службы, 2) исключить опцию из конфигурационного файла по умолчанию 5.7.4 или 3) un-unknow the variable to mysql;)

ссылка: http : //bugs.mysql.com/bug.php? id = 72533

Используйте номер 1, удалите всю строку. Сохранить в my.ini. Убейте процесс, если у вас есть один запуск (посмотрите на них с resmon.exe и убейте их командой taskkill / pid pid-of-process / f), затем запустите wampmysql, и ваш значок станет зеленым.

С уважением SB

0
ответ дан user3050538 21 August 2018 в 01:53
поделиться
0
ответ дан Ram Chandran 31 October 2018 в 21:04
поделиться