習慣 Windows 下一鍵安裝包(AppServ、phpStudy)的開發者,初次在 Mac 上手動配置 PHP 環境難免生疏。好在 macOS 自帶 Apache 與 PHP,僅需啟用並微調;MySQL 5.6.22 則需手動安裝配置。本文詳細記錄全過程,含踩坑與解決方案。
macOS 10.10 已內建 Apache,常用命令:
# 啟動
$ sudo apachectl start
# 停止
$ sudo apachectl stop
# 重啟
$ sudo apachectl restart
# 查看版本
$ httpd -v
瀏覽器訪問 https://localhost 出現 "It works!" 即成功。預設文檔根目錄為 /Library/WebServer/Documents/。
Sites 資料夾(如 /Users/yanzi/Sites)。/etc/apache2/users/yanzi.conf:<Directory "/Users/yanzi/Sites/">
AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted
</Directory>
設置權限:sudo chmod 644 /etc/apache2/users/yanzi.conf
/etc/apache2/httpd.conf,取消註釋:LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
並取消註釋 Include /private/etc/apache2/extra/httpd-userdir.conf。
/etc/apache2/extra/httpd-userdir.conf,取消註釋 Include /private/etc/apache2/users/*.conf。重啟 Apache:sudo apachectl restart。瀏覽器訪問 https://localhost/~yanzi/ 即可看到用戶目錄下的站點(無需加 /Sites)。
編輯 /etc/apache2/httpd.conf,取消註釋:
LoadModule php5_module libexec/apache2/libphp5.so
重啟 Apache。在 ~/Sites/index.php 撰寫 <?php phpinfo(); ?>,瀏覽器訪問 https://localhost/~yanzi/ 即可看到 PHP 信息頁。
mysql-5.6.22-osx10.9-x86_64.dmg。安裝時勿勾選 StartUp Item,改用系統偏好設置面板手動啟動,後續再配置開機自啟。/usr/local/mysql/bin 加入 PATH:$ vim ~/.bash_profile
export PATH="/usr/local/mysql/bin:$PATH"
$ source ~/.bash_profile
設置 root 密碼:mysqladmin -u root password 'your_password'
/tmp/mysql.sock,系統卻找 /var/mysql/mysql.sock。$ sudo mkdir -p /var/mysql
$ sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
$ sudo vim /Library/LaunchDaemons/com.mysql.mysql.plist
內容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key><true/>
<key>Label</key><string>com.mysql.mysqld</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/mysql/bin/mysqld_safe</string>
<string>--user=mysql</string>
</array>
</dict>
</plist>
設置權限並載入:
$ sudo chown root:wheel /Library/LaunchDaemons/com.mysql.mysql.plist
$ sudo chmod 644 /Library/LaunchDaemons/com.mysql.mysql.plist
$ sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
phpMyAdmin-4.4.2-all-languages.zip,解壓重命名為 phpmyadmin,放入 ~/Sites/。$ mkdir config
$ chmod o+w config
https://localhost/~yanzi/phpmyadmin/setup/,點擊「新建服務器」,輸入 MySQL root 密碼,點擊「應用」生成 config.inc.php。config.inc.php 複製到 phpMyAdmin 根目錄,刪除 config 目錄。https://localhost/~yanzi/phpmyadmin/ 即可登錄。$ sudo chmod -R a+w ~/Sites/testsite
$ sudo chown -R _www ~/Sites/testsite
使 Apache 進程(_www 用戶)擁有讀寫權限。