회사에서 사정상 php를 메인개발언어로 사용하고 있다. 처음엔 익숙하게 사용하던 Apache friends의 XAMPP를 사용했었는데 docker 능력자가 나타나서 모든 것을 docker로 바꿔주었다. 첨엔 어리둥절했지만 사용하면 사용할 수록 docker가 참 좋다. docker허브에 등록된 php docker 같은 것을 사용하면 간단하게 php 웹서버를 돌려볼수도 있다. 물론 옵션을 조정하기 시작하면 직접 docker를 등록하기도 하고 해야하는데 어쨌든 머신이 바뀔때마다 새로 서버환경을 세팅할 필요가 없어서 참 좋다.
에디터에도 많은 변화가 있었다. 특출난 php 에디터가 없어서 sublime text, atom, emacs 같은 에디터를 사용했는데 PHPStorm의 존재를 알았다. 구매해야하긴 하는데 회사에서 사줘서 감사히 써보았다. 환상적이다. syntax highlighting, jump declaration, find class 등등 너무너무 좋다. 아쉽게도 소스코드가 10년전 스타일이라서 크게 활용을 못했는데 이젠 객체지향 스타일로 많이 바꿔둬서 나름 편하게 개발을 할 수 있게 되었다.
에디터, 코드스타일이 바뀌면서 자연스레 unit test도 비교적 쉽게 적용할 수 있게 되었다. 에디터가 엄청 잘 지원해줘서 함수 단위로도 실행이 가능하다. 근데 여기서 문제가 하나있다. 서버는 docker로 커버가 되는데 phpunit은 커버가 안된다. 내가 몰라서 그런 거겠지만 어쨌든 phpunit을 위해서 로컬에 cli 환경 정도는 세팅이 필요하다.
/usr/bin/php
맥에는 기본적으로 php, apache httpd가 설치되어 있다. 그런데 어떻게 설치된 건지는 모르겠지만 모듈을 추가하려면 어떻게 해야하는지를 전혀 모르겠다. pecl도 없다. 아무래도 직접 컴파일해서 넣어야 할 것 같은데 설치하다보면 이 라이브러리가 없어요. 저 라이브러리가 없어요. ;;; 포기다. 예전부터 즐겨쓰던 XAMPP가 생각났다.
XAMPP
XAMPP는 타겟이 실제 서비스가 아니라 개발 환경이라서 별별 모듈이 다 설치된채로 배포된다. 대부분 다 된다고 보면 된다. 근데 지금 딱 필요한 memcached가 없다. pecl로 설치를 시도했다. ZLIB가 없단다. 가만보니 pecl도 결국 소스코드를 다운로드 받아서 컴파일을 한다. 바이너리 배포가 아니었다.
Homebrew
남은 하나는 homebrew다. homebrew는 우분투의 apt와 거의 같다. 다른 점은 시스템에 녹아있는 것이 아니라 서드파티라서 /usr/local 에 별도의 공간을 만들어두고 사용한다. 역시 편하다. 필요한 것을 search 한 다음에 설치하면 끝난다. 진작에 이걸로 했어야 했는데 시간을 버렸다. 앞으로는 이걸 젤 먼저 하고 안되면 다른 방법을 찾아야겠다.
이렇게 내 머신에는 세 버전의 php가 설치되었다. 아하하... ;;;