macOS 內建 Apache 與 PHP,但需手動啟用並配置 MySQL 與 phpMyAdmin。本文記錄完整整合流程與常見問題解決方案。
終端機執行:
sudo apachectl start
驗證:瀏覽器訪問 https://localhost,顯示 "It works!" 即成功。預設根目錄為 /Library/WebServer/Documents/。
編輯 /etc/apache2/httpd.conf,取消註釋:
LoadModule php7_module libexec/apache2/libphp7.so
重啟 Apache:sudo apachectl restart。
建議使用 Homebrew 安裝:
brew install mysql@5.7 brew services start mysql@5.7
常見權限問題:升級系統後可能出現 /usr/local/mysql/data 擁有者變更,執行:
sudo chown -R _mysql /usr/local/mysql/data
macOS MySQL 預設 socket 位於 /tmp/mysql.sock,但 PHP 預設尋找 /var/mysql/mysql.sock。修改 php.ini:
mysql.default_socket = /tmp/mysql.sock mysqli.default_socket = /tmp/mysql.sock pdo_mysql.default_socket = /tmp/mysql.sock
或建立符號連結:sudo mkdir -p /var/mysql && sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock。
/Library/WebServer/Documents/phpmyadminconfig.sample.inc.php 為 config.inc.php$cfg['Servers'][$i]['host'] = '127.0.0.1'; // 避免 socket 問題 $cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Blowfish_secret'] = '你的隨機字串'; // 32字元以上
| 錯誤 | 原因 | 解決方案 |
|---|---|---|
| #1045 Access denied | 密碼錯誤或未設定 | 嘗試空密碼登入,或重置 root 密碼 |
| 空密碼被禁止 | 配置限制 | 設定 $cfg['Servers'][$i]['AllowNoPassword'] = true; |
瀏覽器訪問 https://localhost/phpmyadmin,使用 root 帳號登入,成功顯示資料庫介面即完成整合。
此環境適合本地開發測試,生產環境請加強安全配置。