Apache не запускается в MAMP (но работает MySQL) в OSX


У меня был MAMP работает в течение нескольких месяцев и недавно установлен PostgreSQL. Он также рекомендовал установить Apache, что я и сделал, чтобы убедиться, что PostgreSQL работает. Затем я удалил PostgreSQL и сборку apache и попытался перезапустить MAMP. Он запустил базу данных MySQL (зеленый свет), но Apache не запустился. Я удалил и переустановил MAMP только для того, чтобы столкнуться с той же проблемой.

Apache, похоже, не регистрирует никаких ошибок в папке MAMP, поэтому без каких-либо ошибок сообщите, что я борюсь с тем, где начать его исправлять. Я надеюсь, что это связано с тем, что я установил другую версию (и удалил ее), которая вызвала проблему, но я слишком неопытен, чтобы знать, что я сделал.

где я могу найти какие-либо ошибки, если не в папке MAMP? Не в:

  • / Applications / MAMP / Library / logs
  • / Applications / MAMP/bin / logs
16 52

16 ответов:

Stoping Apache решил эту проблему для меня, используя командную строку:

sudo apachectl stop

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

обходной путь для ошибки 10.10 Preview 5: переименуйте файл "envvars", расположенный в '/ Applications/MAMP / Library/bin ' в " _envvars "(@mamp_en)

у меня была аналогичная проблема, и я мог решить ее, запустив в командной строке apachectl, включенный в MAMP:

$ /Applications/MAMP/Library/bin/apachectl start

что приведет

Syntax error on line 427 of /Applications/MAMP/conf/apache/httpd.conf:
Invalid command '\xef\xbf\xbc#AllowOverride', perhaps misspelled or defined by a module not included in the server configuration

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

Это для MAMP 2.0.1, может быть, это обрабатывается лучше в новая версия.

измените рекомендуемый порт Apache с: порт 80 на порт 81.

может быть, это потому, что оригинальный apache включен. Вы пробовали посмотреть статус ? Вы можете попробовать эту команду, чтобы остановить его "состояние apachectl", а затем перезапустить mamp и посмотреть, работает ли он.

Я знаю, что это старый, но в случае если кто-то еще приходит через это. У меня была опечатка в моем файле виртуального хоста (/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf), что заставляло Apache не запускаться. Это было до тех пор, пока я вручную не попытался запустить версию Apache MAMP из командной строки (/Applications/MAMP/bin/startApache.sh) что я увидел ошибку и смог ее исправить.

в моем случае был неправильный сертификат ssl на vhost. Чтобы проверить, просто временно отключите ssl от всех ваших ssl vhost и посмотрите, запустится ли он. Примечание: даже если SSL для виртуального хоста не проверяются.

У меня была та же проблема. После большого разочарования по поводу отсутствия описательного сообщения об ошибке я понял, что могу проверить журнал "Все сообщения" в разделе приложения/инструменты/системные сообщения (или какой-то подобный путь, как я только что перевел с моего языка здесь). Там я нашел объяснение, которое в моем случае означало, что ссылка на библиотеку была нарушена (вероятно, из-за удаления postgres). Я исправил это, воссоздав ссылку. В моем случае это означало, что я должен был выполнить следующую команда в терминале:

sudo ln -s /usr/lib/libpq.5.3.dylib /usr/lib/libpq.5.dylib

и теперь он работает!

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

У меня тоже была эта проблема: в моем случае я изменил порт Apache MAMP по умолчанию с 8888 на 80. Он работал нормально, пока я не установил веб-сервер на другой машине в своей сети и не настроил /etc/hosts на моей локальной машине, чтобы включить новый сервер. Это означало, что порт 80 уже использовался, и Apache MAMP не мог начать.

решение состояло в том, чтобы либо остановить второй веб-сервер в моей сети, либо вернуть MAMP обратно в 8888. Оба подхода работали нормально.

Командная строка помогает в этом вопросе. как ниже

/ Applications/MAMP/Library/bin / apachectl start

/ Applications/MAMP/Library/bin / apachectl stop

Я просматривал все сообщения Stackoverflow, но не повезло. Наконец, я наткнулся на это: https://www.speakinginbytes.com/2013/02/mamp-problems/

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

Что сделал трюк для меня. Надеюсь, что это поможет кто-то другой!

1) выйти из MAMP

2) Используйте командную строку для запуска:

$ sudo apachectl restart

3) Откройте MAMP и запустите Apache

4) Apache должен начать на этот раз с любой удачей


моя ситуация была, когда я использовал командную строку для запуска:

$ sudo apachectl stop

ничего не изменилось. И когда я использовал командную строку для запуска:

$ sudo apachectl start

Я получил

httpd (pid 600) already running

Я попытался перезапустить вместо этого, и это сработало.

чтобы исправить эту конкретную проблему, я переустановил PostgreSQL и сборку apache, которая пришла с ним, затем я снова установил MAMP, и MAMP работал нормально.

Если ваша папка htdocs (или эквивалентная) хранится на внешнем носителе, вам может потребоваться подключиться к ней (в finder или с помощью cmd + K) до запуска apache.

У меня была эта проблема, и оказалось, что a .txt-файл, который не был файлом vhosts, каким-то образом был сохранен в my sites-available папка, которую Apache автоматически включал, и ожидал, что каждый файл будет файлом vhosts.

также убедитесь, что вы не запускаете старую версию MAMP. Это случилось со мной, когда я использовал spotlight для поиска MAMP. Когда приложение обновляется, оно сохраняет старые копии в папке "приложения".