맥에 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 |