Yosemite로 업그레이드 한 후 Apache 문제 Mac 웹 서버가 작동하지

Yosemite로 업그레이드 한 후 Mac 웹 서버가 작동하지 않습니다. apachectl터미널에 입력 하면 다음과 같이 나타납니다.

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

입력 한 sudo apachectl [re]start것처럼 아무 일도 일어나지 않고 다시 입력하면 이미 실행 중이라고 표시됩니다. 또한 웹 공유 환경 설정 창이 설치되어 있고 ( http://clickontyler.com/web-sharing/ ) 스위치를 끄기에서 켜기로 튕기면 스위치가 켜기 위치에 있어도 여전히 꺼져 있다고 표시됩니다 .

어떤 파일을보고 싶습니까? 이 문제를 해결해야합니다.



답변

또한 Yosemite 설치 프로그램은 전체 /private/etc/apache2/httpd.conf 파일을 새로운 기본 Apache 2.4 구성 파일로 덮어 씁니다.

예를 들어, Listen지시문이 추가 된 경우 지시문이 사라지고 다시 추가해야합니다. 예 :

Listen 127.0.0.1:81

다음 파일에서 이전 구성을 찾았지만 2.2와의 차이로 인해 http.conf 파일로 직접 복사해서는 안됩니다.

/private/etc/apache2/httpd.conf~ 이전

http://httpd.apache.org/docs/2.4/upgrading.html에 업그레이드 안내서가 있습니다.

이전에 포함 된 추가 구성 파일이 여전히 포함되어 있는지 확인한 후 다음 명령으로 구성을 테스트하십시오.

sudo apachectl configtest


답변

이 문제는 Yosemite가 최신 버전의 Apache (2.4)를 설치하는 반면 이전 버전의 Mac OS X은 Apache 버전 2.2를 사용했기 때문에 발생합니다.

오류로 인해 Apple에서 제공 한 표준 버전의 PHP가 아니라 liip.ch에서 제공 한 다른 버전의 PHP를 사용하고있는 것 같습니다. 위에서 Nuttyx에서 제안한대로 # 기호를 제거하면 Apple 버전의 php (5.5.14)가로드됩니다. liip에서 제공 한 버전을 계속 실행하려면 Apache 2.4에서 제대로로드되도록 다시 설치해야합니다. 자세한 설명은 여기를 참조하십시오 : ( http://blog.liip.ch/archive/2014/06/11/php-osx-available-for-os-x-10-10-yosemite.html )

NB 가상 호스트를 사용하는 경우 구성 파일을 약간 변경해야합니다. 특히 다음을 변경해야합니다.

2.2 구성 :

Order allow,deny
Allow from all

2.4 구성 :

Require all granted


답변

당신이이 문제를 해결할 수 있음을 보인다 제거#에 다음 줄의 beggining에서 /etc/apache2/httpd.conf파일 :

LoadModule php5_module libexec/apache2/libphp5.so


답변

인수없이 ‘sudo apachectl’을 실행하면 conf 파일의 문제점이 표시됩니다. 필자의 경우 php를 업그레이드하면 문제가 해결되었습니다.

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

그 후 Apache가 다시 실행되지만 가상 호스트를 재구성해야했습니다.


답변

위의 질문에 답했지만 다음과 같은 오류가 발생할 가능성이 있습니다.

/private/etc/apache2/httpd.conf: Cannot load /usr/libexec/apache2/mod_XYZ.so into server: dlopen(/usr/libexec/apache2/mod_XYZ.so, 10): image not found

위의 이름으로 참조되고 찾을 수없는 심볼릭 링크를 만든 경우에 발생할 수 있습니다. 해결하려면 실제 파일의 절대 경로를 제공하고 제공되는 심볼릭 링크 파일 이름과 동일한 경로를 제공하는 기호 링크를 작성하십시오.


답변