2017-09-26 1 views
5

Mac을 최신 버전의 os로 업데이트했습니다. PHP 프로젝트를 실행하려고하면 브라우저가 PHP 프로젝트를 해석하는 대신 PHP 코드를 표시합니다. 나는 새로운 OS php가 버전 7.1에 있다는 것을 알아 차렸다. 나는에 httpd.conf 파일에서 사제 및 변경 모듈을 사용하여 (그것이 나를 위해 필요한 것) 5.6을 설치 :MacOS를 High Sierra로 업데이트 한 후 PHP가 작동하지 않습니다.

을 LoadModule php5_module /usr/local/Cellar/php56/5.6.31_7/libexec/apache2/libphp5.so

여기 아파치 에러 로그이다 :

[화 구월 26 23 : 59 : 38.600410 2,017] mpm_prefork : 고지] PID 980] AH00169 : 잡힌 SIGTERM, 종료 [화 구월 26 (23) : 59 : 38.622998 2017] [핵심 : 공지 사항] [pid 980] AH00 060 : 독방 감금 오류 또는 부모 프로세스 AH00557에서 검출 유사한 불쾌한 오류 : 아파치 : apr_sockaddr_info_get()는 맥북 - 프로 Kamil.local AH00558하지 못했습니다 아파치 : 안정적으로 서버의 정규화 된 도메인 이름을 확인할 수 없습니다, 127.0를 사용하여 .0.1. 'ServerName'지시문을 전역으로 설정하십시오. 메시지를 표시하지 않습니다. [Tue Sep 26 23 : 59 : 48.838005 2017] [mpm_prefork : notice] [pid 991] AH00163 : Apache/2.4.27 (Unix) PHP/5.6.31이 구성되었습니다. - 정상 동작을 재개하기 [화 구월 26 23 : 59 : 48.838097 2,017] [코어 : 고지] PID 991] AH00094 : 명령 행 : '은/usr/sbin에/아파치 -D FOREGROUND'

답변

-2

당신에게 PHP 5.6.31을 지원하는 Xampp 버전을 다운로드하고 Xampp을 사용하여 응용 프로그램을 실행할 수 있습니다.

당신이 MacOs Sierra로 돌아 가야한다고 생각하지 않으시면 PHP 5.6이 오래되었습니다. 새로운 시스템에는 최신 버전이 제공됩니다!

+0

를 다시 시작 php5_module

  • 다시 시작 아파치 서버와 php7_module 교체 당신은 다운 그레이드 PHP가 아닌 것처럼이 말 옵션을 사용하고 PHP5를 PHP5와 나란히 실행하지 않습니다. 이것들이 가능하지 않거나 당신의 대답 범위를 벗어 났기 때문에 당신이 알기 때문입니까? – dubloons

  • +0

    새 MacOS가 PHP 7을 코어에서 사용하기 때문에 이렇게 말하면 PHP 다운 그레이드가 재앙이 될 수 있습니다 – Kurogani

    +0

    OP에서 언급했듯이 BREW를 사용하여 PHP 버전을 처리하므로 전혀 문제가되지 않습니다. – Erebus

    -1

    나는 집안일 옵션도 보았고, 결국 나는 Vagrant를 사용하기로 결정했다. 당신은 당신의 프로젝트 파일을 그 자리에 남겨두고 방랑자를 사용하여 지역적으로 봉사 할 수 있습니다. 나는 laravel/homeestead 상자를 사용하여 https://laravel.com/docs/5.5/homestead과 Homestead.yaml에있는 가이드를 따라 갔다. laravel과 wordpress 등에 대해 같은 상자를 사용할 수있다. 다음 osx 업그레이드를위한 훨씬 더 미래의 증거이며, PHP 버전을 쉽게 선택할 수있다. 사이트별로 사이트에

    folders: 
        - map: ~/Documents/www/mysite/ 
         to: /home/vagrant/mysite 
         type: "nfs" 
    sites: 
        - map: mysite.app 
         to: /home/vagrant/mysite/dist 
         php: "5.6" 
    

    와의

    는/etc/hosts 파일은/당신의 문제는 PHP와 함께하지만, 컴퓨터의 도메인 이름처럼

    192.168.10.10 mysite.app 
    
    0

    그것은 보이지 않는 추가 할 수 있습니다. "127.0.0.1을 사용하여 서버의 정규화 된 도메인 이름을 안정적으로 확인할 수 없습니다.이 메시지를 표시하지 않도록 전역으로 'ServerName'지시문을 설정하십시오 .."httpd.conf 파일에서 도메인 설정을 확인하십시오./etc/hosts 파일에서도 충돌이 있는지 확인해야합니다.

    This guide for installing and using Apache/MySQL/PHP via Homebrew has been immensely useful. macOS Sierra에 적용되지만 High Sierra에서도 작동합니다. 또한 여러 PHP 버전을 설치하는 방법과 PHP 버전을 계속 실행하는 데 관심이있는 경우 이들간에 앞뒤로 전환하는 편리한 방법을 보여줍니다.

    저는 원래 설치에 더 가깝고 자원을 적게 사용하기 때문에 Vagrant 또는 MAMP와 반대되는 Homebrew 경로를 선호합니다. 희망이 도움이됩니다!희망이 도움이

    AddType x-httpd-php .php 
    AddHandler application/x-httpd-php .php .php5 
    

    : 내 httpd.conf 파일에 다음 줄을 추가

    +0

    ServerName 메시지는 경고 일뿐입니다. 다른 모든 것들이 올바르게 설정 되었다면 문제가 발생해서는 안됩니다. (필자는 마침내이 문제를 고치기 전에 오랜 시간 동안이 경고문을 사용하여 로컬 env를 실행했습니다). – Erebus

    4

    이 문제를 해결!

    편집 : crmpicco에서 알 수 있듯이 단지 나는 또한과 같이 예전 시에라 사람과 새로운 하이 시에라의 httpd.conf와 아파치 - vhosts.conf 파일을 대체 않았다, 조금 자세한 내용을 제공 :

    mv httpd-vhosts.conf~previous httpd-vhosts.conf 
    mv httpd.conf~previous httpd.conf 
    

    이 모든 작업과 Apache를 다시 시작한 후에도 여전히 작동하지 않습니다. 모든 것을 적용하려면 다시 부팅해야했습니다.

    1

    MacOS 업그레이드 프로세스가 아파치 설정을 ~previous 개의 파일로 옮기고 새롭고 신선한 버전을 만드는 것처럼 보입니다. 너는 그들을 뒤로 움직여야한다. 이 나를 위해 일했다 :

    mv httpd-ssl.conf~previous httpd-ssl.conf 
    mv httpd-vhosts.conf~previous httpd-vhosts.conf 
    mv httpd.conf~previous httpd.conf 
    

    구문을 확인하십시오.

    apachectl -S 
    

    Apache를 다시 시작하십시오. MAMP와 PHP 5.6을 사용하여 여기

    apachectl restart 
    
    +0

    나는 이것을 시험해 보았지만 나의 대답에 줄이 없어도 여전히 효과가 없었다. 어쩌면 이전 구성 파일에 해당 줄이 있습니까? 또한, 나는 새로운 것들이 추가 된 경우에 대비하여, 일반적으로 신선한 구성 파일로 시작하여 필요한 것을 추가하는 것을 좋아합니다. – Erebus

    0

    같은 일이 : 직후 (아마 너무 많은 잡초와 시에라입니다 ..) 높은 시에라 아파치에 업데이트 한 작동이 중단되었습니다.

    은 시간 후에 나는 마지막으로이 명령으로 해결 :

    cp /Applications/MAMP/bin/php/php5.6.25/conf/php.ini.temp /Applications/MAMP/bin/php/php5.6.25/conf/php.ini

    그리고 php.ini 파일 내 사용자 지정 변경을 다시 적용. (필자의 경우 memory_limit 및 short_open_tag)

    MAMP를 다시 시작하고 처음 시도했을 때 작동했습니다. HighSierra과 PHP5.6를 사용

    1

    1. (필요에 따라 다시 설치/업그레이드/중 설치)는 HTTP 옵션이 활성화 된 PHP56의 최신 버전이 함께 설치되어 있는지 확인 공유 ​​아파치 핸들러 모듈 의 건물을 사용 추가 아파치 설정 파일은/etc/AP에 문 다음 아파치 설정 파일에 모듈을 연결

      $ 양조 업그레이드 php56의 --with-아파치

    2. ache2/httpd.conf를

      을 LoadModule php5_module가에서 사본을 확인합니다 PHP5 config 파일

      추가

    3. 을 /usr/local/Cellar/php56/5.6.32_8/libexec/apache2/libphp5.so php7.conf

      $ cd/etc/apache2/other; sudo cp php7.conf php5.conf의

      $ sudo를에/usr/sbin에/apachectl을

    관련 문제