nugawiki Archive of experience and knowledge

./categories/os

macOS PHP 개발환경 (Homebrew·Apache·PHP·OCI8)

업데이트 2026-07-21 조회수

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

  1. Instant Client(basic·sqlplus·sdk) 설치 → install_ic.sh
  2. ~/.zshrc: export LD_LIBRARY_PATH="/경로/instantclient_19_8"
  3. pecl install oci8-2.2.0instantclient,/경로/instantclient_19_8
  4. pdo_oci: phpize./configure --with-pdo-oci=instantclient,/경로,19.8make && sudo make install

다운로드: https://www.oracle.com/kr/database/technologies/instant-client/macos-intel-x86-downloads.html

./comments