Yosemite로 업그레이드 한 후 Apache 문제


8

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/ ) 스위치를 끄기에서 켜기로 튕기면 스위치가 켜기 위치에 있어도 여전히 꺼져 있다고 표시됩니다 .

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

답변:


6

또한 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

그 질문에 어떻게 대답합니까? 아파치를 업그레이드 한 후 어떤 PHP 모듈을로드 할 필요는 없습니다.
AlxVallejo

8

이 문제는 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

4

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

LoadModule php5_module libexec/apache2/libphp5.so

1
이것은 나를 위해 그것을했다!
Matthieu Riegler

1

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

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

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


0

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

/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

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.