본문 바로가기

DEV

맥에서 php71을 설치하면서.

맥에 php71 을 설치하고 싶었다.

기본으로 인지는 모르겠으나 php5.6 버전이 설치되어있었고 그것을 7.1 버전으로 업그레이드 하고 싶었다.


brew-php-switcher 라는게 있단다. 이걸 설치하면 php 간 이동이 편하단다.


$ brew install brew-php-switcher


설치가 잘 됐다. 그리고 실행


$ brew-php-switcher 71

$ apachectl restart


로그에 아무것도 찍히지 않는다.

사이트 접속도 되질 않는다.


httpd.conf 를 뒤적거려 보니 php-module 이 7.1 모듈을 보고 있는게 아니고 5.6 모듈을 보고 있다.

LoadModule php5_module libexec/apache2/libphp5.so

이걸 7 버전으로 바꾸고 싶어서 libphp7.so 파일을 찾았지만 파일이 없다. php7 설치를 잘못했다.

$ brew remove php71

$ brew install php71 --with-apache

그리고 찾아 보니.. 

/usr/local/Cellar/php71/7.1.4_16/libexec/apache2/libphp7.so 

이곳에 파일이 생겼다.


그리고 리스타트.

$ sudo apachectl restart

안된다.

그리고 apachectl 이 먹통이 되는경우가 종종 있었다. 심지어는 port 를 이미 사용하고 있어서 stop 이 안된단다. 

로컬 계정에서 apachectl 을 하는경우와 sudo 로 apachectl 을 하는 경우가 다른거 같다.

우선 어디에 apachectl 이 있는지 확인하고 싶었다.

updatedb 를 해서 locate 에서 사용할 db 를 갱신한다.

$ sudo /usr/libexec/locate.updatedb

한참후 업데이트가 끝났다. 그리고

$ locate apachectl

파일이 한곳에만 존재하지 않고 /usr/local/bin, /usr/sbin/ 두곳에 있다. 아마도 /usr/local/bin 은 로컬계정의 bin 파일인거 같고 /usr/sbin 은 슈퍼유저 용인거 같다.

그래서 sudo 로 실행하면 /usr/sbin/apachectl 이 실행되고 그냥 실행하면 /usr/local/bin/apachectl 이 실행되는거 같다. 


무슨 이유에서인지 모르겠지만 아파치 설정 파일도 두곳이다. 왜일까 ? 이건 나중에 찾아 보기로 한다.

설정파일의 위치는 내가 원래 알고 있던

/etc/apache2/httpd.conf

와 

/usr/loca/etc/apache2/2.4/httpd.conf


이렇게 두곳이다. 아마도 brew-php-switcher 가 설치를 해준거 같다~ 라고만 상상하고 넘어간다.

/usr/local/bin/apachectl 은 내가 알고 있던곳과 다른 두번째 conf 파일을 보고 있다. 

난 이것저것 지우기는 무섭고 해서 .zshrc 에 alias 를 통해 제대로 된 apache 를 실행하기로 한다.


$ vi ~/.zshrc

alias php= "/usr/local/bin/php"

alias apachectl="/usr/sbin"


이제 잘 실행된다. 내가 원했던데로...

'DEV' 카테고리의 다른 글

우분투 16.04 에 zsh 를 설치하면서..  (0) 2017.09.07
라라벨 5.4 에서 {{ }} 의 변화.  (0) 2017.04.25
[C++] using namespace std ?  (0) 2015.12.11
[C++] #include<xxxx> 의 의미 ?  (0) 2015.12.11
[C++] Hello World  (0) 2015.12.11