mac에서 php 로컬 개발 환경 세팅하기
구글에 검색하면 나오는 여러 개발자 분들의 포스팅을 참조해서 시도
Monterey에는 apache가 기본으로 설치되어 있다.
httpd -v
Monterey에는 php가 없기 때문에 설치부터 하기
나는 현재 7.4버전이 필요해서 7.4 설치
brew install shivammathur/php/php@8.0
brew install php@7.4
brew link --overwrite --force php@7.4
echo 'export PATH="/opt/homebrew/opt/php@7.4/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/opt/homebrew/opt/php@7.4/sbin:$PATH"' >> ~/.zshrc
php -v 확인
이제 apache 서버를 실행해보자.
sudo apachectl start
# 아파치 서버 중지하려면
sudo apachectl stop
http://localhost/ 에 접속해보면 It works! 가 보일 것이다.
이제 환경설정을 수정할 차례
왜냐면 내가 작업할 코드들을 확인할 수 있도록 경로를 수정하는 등 작업이 필요함
httpd.conf 파일을 찾아서 수정하자.
httpd.conf 파일 열기
sudo vi /etc/apache2/httpd.conf
:123 으로 123줄로 이동할 수 있다.
/ 입력하여 단어를 검색할 수 있고 다음단어 n / 이전단어 N
/DocumentRoot
i 명령어로 경로 부분 수정 후 esc
DocumentRoot "Users/mhbaek/dev"
<Directory "Users/mhbaek/dev"
apache 서버가 php 모듈을 사용하겠다는 옵션을 활성화해야 함
/libphp 검색
을 해야하는데 없다???? 엥???
그래서이번엔 이 글을 참조해서 다시 시도!
기본으로 설치된 apache 말고
homebrew에서 apache를 설치해서 시도해보기로.
sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
brew install httpd
brew services start httpd
그러면 아파치 서버가 연결된 것을 확인할 수 있다.
이때 httpd -t 명령어를 입력하면 httpd.conf에 어떤 에러가 있는지 확인할 수 있다는 것을 알게 되었다.
brew install httpd 하면 터미널에서 설치된 아파치 환경설정 파일 경로를 알려주는데,
여기에서 cmd + 경로 클릭하면 vscode에서 열린다.
code /opt/homebrew/etc/httpd/httpd.conf 명령어를 입력해도 동일하게 동작함.
참고로 이번에 brew로 설치한 아파치는 위 경로, opt/homebrew/etc/httpd/httpd.conf
기존에 설치되어 있던 아파치는 private/etc/apache2/httpd.conf
vscode에 열어서 수정하고, source /opt/homebrew/etc/httpd/httpd.conf 명령어를 입력해서
수정한 파일을 바로 적용한다.
cd /Users/mhbaek/dev
echo "<h1>My User Web Root</h1>" > index.html
brew services restart httpd
httpd.conf 추가수정
(https://velog.io/@diduya/macOS%EC%97%90-Homebrew%EB%A1%9C-Apache-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0)
LoadModule alias_module lib/httpd/modules/mod_alias.so
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
# 아래 내용 추가
LoadModule php7_module /opt/homebrew/opt/php@7.4/lib/httpd/modules/libphp7.so
source /opt/homebrew/etc/httpd/httpd.conf
brew services restart httpd
echo "<?php phpinfo();" > index.php
다시 localhost 로 들어가보면,
그리고 루트 디렉토리에 index.html, index.php가 생긴 것을 확인할 수 있다.
+)
brew list
brew를 통해 설치할 수 있는 패키지 목록
brew search 패키지명
설치 가능한 패키지 확인
brew tap 패키지명
저장소 만들기
brew doctor
문제가 있으면 보여줌
출처:
https://shallwestudy.tistory.com/13
https://any-ting.tistory.com/86
https://velog.io/@timcodejs/PHP-MacOS%EC%97%90%EC%84%9C-PHP-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0