XAMPP не запускает Apache в Mac OS X 10.6.8 Snow Leopard

Когда я пытаюсь запустить Apache с панели управления XAMPP (Mac OS X 10.6.8 Snow Leopard), я получаю следующее всплывающее сообщение об ошибке, и Apache не запускается:

/Applications/XAMPP/xamppfiles/bin/apachectl: line 70: ulimit: open files: cannot modify limit: Invalid argument (48)Address already in use: make_sock: could not bind to address [::]:80 

XAMPP работал отлично на 10 минут раньше. Я остановил Apache, чтобы добавить некоторые .conf файлы, и он не удался при перезагрузке. Я удалил все новые .conf файлы (т. Е. Вернул его так, как это было раньше), но теперь я получаю вышеуказанное сообщение.

  • Apache, возвращающий 404, если pathinfo содержит частично URL-кодированный URL-адрес
  • Apache 2.4 в Windows реагирует медленно, зависает при обслуживании некоторых динамических страниц
  • Почему сервер Apache работает только в том случае, если у меня есть подключение к Интернету?
  • Как переключить PHP 5.5 вместо PHP 5.4 в Bitnami
  • Преобразование файла в PDF с помощью LibreOffice под пользователем apache (т.е. при использовании PHP)
  • Как обновить с PHP v5.4 до PHP v5.5 в bitnami ubuntu
  • Я проверил AppMonitor, и я вижу httpd процессы (один из которых _www вложен в корень). Просто попробовали отказаться от них, но они были автоматически перезапущены на новые идентификаторы процессов, и это не решило проблему.

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

  • Emacs открывает файлы в новом фрейме при открытии с помощью «open -a»
  • Как удалить виртуальный компакт-диск MyBook «WD SmartWare» с моего рабочего стола?
  • Использование терминальных клавиш с bash на macOS
  • Как запустить скрипт при входе / выходе в OS X?
  • Ubuntu против Mac OS
  • Есть ли редактор тегов ID3 ​​для iTunes на OS X?
  • 3 Solutions collect form web for “XAMPP не запускает Apache в Mac OS X 10.6.8 Snow Leopard”

    Он жалуется, что порт 80 уже используется. В таких сценариях, как ваш, это обычно вызвано тем, что Apache уже (или все еще) работает.

    Как вы уже заметили, все еще запущен процесс httpd . Обязательно сначала выйдите из всех процессов Apache HTTPD, а затем запустите его снова.

    Это приведет к отключению httpd.

     sudo launchctl unload -w /System/Library/LaunchDaemon/org.apache.httpd.plist 

    Есть две причины, которые могут вызывать проблему: активная работа Apple в веб-службе обмена или активные процессы XAMPP-зомби все еще активны.

    Если это вызвано совместным использованием веб-сайта Apple, вы можете справиться с этим, перейдя в « System Preferences… и затем выбрав « Sharing . После этого снимите флажок « Web Sharing который в основном является просто Apache httpd и ваша проблема должна быть решена.

    Тем не менее, если это в основном «экземпляр« зомби »Apache, запущенный после некоторых настроек XAMPP, лучше всего сделать что-то вроде следующего:

    Сначала запустите lsof (список открытых файлов), в котором будут перечислены все активные файлы, открытые в системе.

     sudo lsof | grep MAMP | grep apache 

    Обратите внимание, что две команды grep соединены вместе? То, что я делаю, это получить список открытых файлов, а затем отфильтровать те, у которых есть путь к файлу, связанный с MAMP, или в вашем случае изменить это на XAMPP или на любую папку / каталог, в котором вы работаете, – и я фильтрую apache В пути. Список должен выглядеть примерно так:

     httpd 2204 jake 2w REG 1,2 24685 17953784 /Applications/MAMP/logs/apache_error.log httpd 2211 jake 2w REG 1,2 24685 17953784 /Applications/MAMP/logs/apache_error.log httpd 2212 jake 2w REG 1,2 24685 17953784 /Applications/MAMP/logs/apache_error.log httpd 2213 jake 2w REG 1,2 24685 17953784 /Applications/MAMP/logs/apache_error.log httpd 2214 jake 2w REG 1,2 24685 17953784 /Applications/MAMP/logs/apache_error.log httpd 2215 jake 2w REG 1,2 24685 17953784 /Applications/MAMP/logs/apache_error.log httpd 2216 jake 2w REG 1,2 24685 17953784 /Applications/MAMP/logs/apache_error.log 

    Хорошо, это целый список процессов. Apache работает над концепцией существования одного родительского процесса со многими дочерними процессами, порожденными для работы с трафиком. Поэтому, если вы убиваете дочерний процесс, родительский процесс замечает его и регенерирует новый ребенок.

    Теперь, глядя на этот список, как правило, самым низким номером в этом списке процессов будет родительский, поскольку он запускается перед другим дочерним процессом, конечно, поэтому вы должны убить его, чтобы убить все процессы. Таким образом, в этом случае процесс наименьшего числа в списке равен 2204 , поэтому просто запустите эту команду:

     kill 2204 

    И тогда родительский процесс убит, и все дочерние процессы также должны исчезнуть. Затем порт 80 должен быть снова доступен.

    Давайте будем гением компьютера.