Mój serwer Mac nie działa po aktualizacji do Yosemite. Kiedy piszę apachectl
w Terminalu, otrzymuję to:
httpd: Syntax error on line 527 of /private/etc/apache2/httpd.conf: Syntax error on line 8 of /private/etc/apache2/other/+php-osx.conf: Cannot load /usr/local/php5/libphp5.so into server: dlopen(/usr/local/php5/libphp5.so, 10): Symbol not found: _unixd_config\n Referenced from: /usr/local/php5/libphp5.so\n Expected in: /usr/sbin/httpd\n in /usr/local/php5/libphp5.so
Jeśli piszę, sudo apachectl [re]start
nic się nie dzieje, tak jakby się zaczęło i piszę ponownie, oznacza to, że już działa. Mam również zainstalowany panel preferencji udostępniania stron internetowych ( http://clickontyler.com/web-sharing/ ), a kiedy przesuwam przełącznik z Wył. Na Wł., Nadal mówi, że jest wyłączony, nawet jeśli przełącznik znajduje się w położeniu Wł. .
Jakie pliki chcielibyście / chcielibyście zobaczyć? Naprawdę trzeba naprawić ten jak najszybciej.
źródło
Problem występuje, ponieważ Yosemite instaluje najnowszą wersję Apache (2.4), podczas gdy wcześniejsze wersje Mac OS X używały Apache w wersji 2.2
Z błędu wynika, że nie korzystałeś ze standardowej wersji PHP dostarczonej przez Apple, ale innej wersji dostarczonej przez liip.ch. Usunięcie znaku # zgodnie z sugestią Nuttyx powyżej spowoduje załadowanie wersji php Apple'a (5.5.14). Jeśli chcesz kontynuować uruchamianie wersji dostarczonej przez liip, musisz ją ponownie zainstalować, aby poprawnie załadował się do Apache 2.4. Zobacz szczegółowe wyjaśnienie tutaj: ( http://blog.liip.ch/archive/2014/06/11/php-osx-available-for-os-x-10-10-yosemite.html )
Uwaga: Jeśli korzystasz z hostów wirtualnych, prawdopodobnie będziesz musiał nieco zmienić pliki konfiguracyjne. W szczególności musisz zmienić następujące elementy:
Konfiguracja 2.2:
Konfiguracja 2.4:
źródło
Wydaje się, że problem ten można rozwiązać poprzez usunięcie
#
na początku działalności następnego wiersza w/etc/apache2/httpd.conf
pliku:źródło
Uruchomienie „sudo apachectl” bez argumentów pokazuje problem w plikach conf. W moim przypadku aktualizacja php naprawiła to.
Następnie Apache uruchomił się ponownie, ale musiałem ponownie skonfigurować vhosty.
źródło
Chociaż na powyższe pytanie udzielono odpowiedzi, istnieje inna możliwość wystąpienia tego samego błędu, na przykład:
Może się to zdarzyć, jeśli utworzono dowiązanie symboliczne, do którego odwołuje się powyższa nazwa i nie można go znaleźć. Aby rozwiązać, utwórz dowiązanie symboliczne, podając bezwzględną ścieżkę do rzeczywistego pliku i taką samą dla podanej nazwy pliku dowiązania symbolicznego.
źródło