./categories/os
macOS PHP 개발환경 (Homebrew·Apache·PHP·OCI8)
Homebrew Apache (httpd)
전제: Homebrew, brew install openssl
sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
brew install httpd
brew services start httpd
# http://localhost:8080
- 서비스:
brew services start/stop/restart httpd - 직접:
/usr/local/bin/httpd -k start/httpd -k stop - 문법:
httpd -t - 로그:
tail -f /usr/local/var/log/httpd/error_log
Sites·가상호스트
mkdir -p ~/Sites
# httpd.conf: Listen 0.0.0.0:8000, DocumentRoot ~/Sites, AllowOverride All
# rewrite_module 주석 해제, User/Group/ServerName 설정
vim /usr/local/etc/httpd/extra/httpd-vhosts.conf
<VirtualHost *:1000>
DocumentRoot "/Users/유저명/Sites/프로젝트"
DirectoryIndex index.php index.html
</VirtualHost>
httpd.conf에서 vhost_alias_module·Include .../httpd-vhosts.conf 활성화.
PHP
brew tap shivammathur/php
brew install shivammathur/php/php@7.4
# php.ini: /usr/local/etc/php/{버전}/php.ini
# 전환: brew unlink php && brew link --overwrite --force php@7.4
httpd.conf:
LoadModule php7_module /usr/local/opt/php@7.4/lib/httpd/modules/libphp7.so
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
brew services restart httpd
echo "<?php phpinfo();" > ~/Sites/info.php # 확인 후 삭제
OCI8
- Instant Client(basic·sqlplus·sdk) 설치 →
install_ic.sh ~/.zshrc:export LD_LIBRARY_PATH="/경로/instantclient_19_8"pecl install oci8-2.2.0→instantclient,/경로/instantclient_19_8- pdo_oci:
phpize→./configure --with-pdo-oci=instantclient,/경로,19.8→make && sudo make install
다운로드: https://www.oracle.com/kr/database/technologies/instant-client/macos-intel-x86-downloads.html
./comments