首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

macOS 使用 Homebrew 搭建 PHP (LNMP/LAMP) 開發環境完整指南

     編輯:PHP 綜合知識

前言

macOS 內建 Apache 與 PHP,但版本較舊且難以客製化。使用 Homebrew 可輕鬆安裝最新版本、多版本共存、自由切換,打造高可控性的本地開發環境。

Homebrew 安裝與基本操作

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 常用指令
brew install       # 安裝
brew uninstall     # 移除
brew list                   # 列出已安裝
brew update                 # 更新套件索引
brew upgrade       # 升級指定套件
brew services start    # 啟動服務 (nginx, mysql, php 等)
brew services stop 
brew services restart 

Web 伺服器選擇:Apache 或 Nginx

方案 A:使用 macOS 內建 Apache (最簡單)

# 控制 Apache
sudo apachectl start
sudo apachectl restart
sudo apachectl stop

# 修改 DocumentRoot (編輯 /etc/apache2/httpd.conf)
DocumentRoot "/Users/你的用戶名/Sites"
<Directory "/Users/你的用戶名/Sites">
    Options Indexes FollowSymLinks Multiviews
    AllowOverride All
    Require all granted
</Directory>

# 啟用 PHP 模組 (於 httpd.conf 末尾加入)
LoadModule php_module /usr/local/opt/php/lib/httpd/modules/libphp.so
# 或指定版本
LoadModule php_module /usr/local/Cellar/php@8.2/8.2.x/lib/httpd/modules/libphp.so

方案 B:安裝 Nginx (效能更好、配置彈性高)

brew install nginx

# 啟動/重載/停止 (監聽 80 port 需 sudo)
sudo nginx
nginx -s reload
nginx -s stop

# 配置檔位置: /usr/local/etc/nginx/nginx.conf
# 建立站點配置目錄
mkdir -p /usr/local/etc/nginx/servers

# 站點配置範例: /usr/local/etc/nginx/servers/dev.conf
server {
    listen 80;
    server_name localhost;
    root /Users/你的用戶名/Sites/public;  # 你的專案公開目錄
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;  # PHP-FPM
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

# nginx.conf 末尾加入
include /usr/local/etc/nginx/servers/*.conf;

PHP 多版本安裝與切換

# 加入 PHP 套件源
brew tap shivammathur/php

# 安裝多版本
brew install shivammathur/php/php@7.4
brew install shivammathur/php/php@8.1
brew install shivammathur/php/php@8.2

# 切換 CLI 版本 (需重新開啟終端機或 source ~/.zshrc)
brew unlink php@8.1 && brew link --force --overwrite php@8.2

# 或使用 php-version 切換器
brew install php-version
php-version 8.2

Nginx + PHP-FPM 配置

# 啟動對應版本的 PHP-FPM
brew services start php@8.2

# 檢查監聽端口 (預設 9000)
lsof -i :9000

# Nginx fastcgi_pass 對應修改
fastcgi_pass 127.0.0.1:9000;

資料庫安裝

MySQL

brew install mysql
brew services start mysql

# 初始化與設定密碼
mysql_secure_installation
# 或手動
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密碼';
FLUSH PRIVILEGES;

# 解決 phpMyAdmin 找不到 mysql.sock
sudo mkdir -p /var/mysql
sudo ln -sf /tmp/mysql.sock /var/mysql/mysql.sock

PostgreSQL (推薦現代專案)

brew install postgresql@15
brew services start postgresql@15
createuser -s postgres  # 建立超級用戶
createdb myapp

Redis

brew install redis
brew services start redis

MongoDB

brew install mongodb-community
brew services start mongodb-community

常用 PHP 擴展安裝

# 以 php@8.2 為例
brew install shivammathur/php/php@8.2-xdebug
brew install shivammathur/php/php@8.2-redis
brew install shivammathur/php/php@8.2-mongodb
brew install shivammathur/php/php@8.2-igbinary
brew install shivammathur/php/php@8.2-swoole

# 查看已載入擴展
php -m

開發工具推薦

  • Composer:brew install composer
  • phpMyAdmin:下載解壓至 ~/Sites/phpmyadmin,執行 setup 產生 config.inc.php
  • Adminer:單檔 adminer.php 放入專案即用,比 phpMyAdmin 輕量
  • TablePlus / Sequel Ace:GUI 資料庫管理工具
  • Laravel Valet:composer global require laravel/valet && valet install,極簡站點管理

環境變數與路徑管理

編輯 ~/.zshrc (或 ~/.bash_profile):

# Homebrew 路徑優先
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"

# Composer 全域 bin
export PATH="$HOME/.composer/vendor/bin:$PATH"

# PHP 版本別名 (搭配 php-version)
alias php74="php-version 7.4"
alias php81="php-version 8.1"
alias php82="php-version 8.2"

常見問題排查

問題解決方案
Nginx 80 port 權限不足使用 sudo nginx 或改監聽 8080
PHP-FPM 權限錯誤確認 www.conf 中 user/group 為你的用戶
MySQL 連線失敗檢查 mysql.sock 路徑、php.ini pdo_mysql.default_socket
xdebug 不生效確認 zend_extension 路徑、xdebug.mode=debug、IDE 端口 9003
權限寫入失敗chmod -R 775 storage bootstrap/cache (Laravel 專案)

總結

Homebrew 讓 macOS 成為優秀的 PHP 開發平台:版本自由切換、套件管理統一、配置檔案集中、服務控制標準化。建議新專案採用 Nginx + PHP-FPM + PostgreSQL/Redis 技術棧,搭配 Valet 或手動配置皆可輕鬆上手。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved