-
Notifications
You must be signed in to change notification settings - Fork 0
[部署] 配置 Apache, PHP, MySQL, phpMyAdmin 在本機 ( macOS ) #7
Description
版本資訊:
- macOS High Sierra 10.13
- Apache:2.4.33
- PHP:7.1.16
- mysql:8.0.13
- phpMyAdmin:4.8.3
macOS High Sierra 10.13 已經自帶 Apache 及 PHP,不用另外安裝,只要開啟就可以了。
Apache
-
開啟 Apache:
sudo apachectl start
注意:
sudo
需要權限,要輸入密碼 -
你可以查看目前 Apache 版本:
httpd -v
若打開瀏覽器輸入 http://localhost
,如果看到『 It works! 』,代表成功開啟 Apache 囉!
其他 Apache 操作命令:
停止 Apache:
sudo apachectl stop
重啟 Apache:
sudo apachectl restart
預設根目錄
http://localhost/
系統預設的根目錄是放在這裡:
/Library/WebServer/Documents/
另外,有興趣的話還可以設定使用者層級的根目錄,並研究一下
.htaccess
這個檔案的相關設定。
相關參考
PHP
macOS High Sierra 10.13 已經自帶 PHP,需要一些步驟來開啟。
-
首先開啟
httpd.conf
這個檔案來修改:
sudo vim /etc/apache2/httpd.conf
只要會 vim 的基本操作,就知道怎麼修改檔案了
-
找到以下這一行,取消前面的
#
註解並存檔:
#LoadModule php7_module libexec/apache2/libphp7.so
-
重啟 Apache:
sudo apachectl restart
試著在根目錄新增一個檔案 phpinfo.php
,內容為:
<?php phpinfo(); ?>
打開瀏覽器輸入 http://localhost/phpinfo.php
,若看到 PHP 版本資訊,就表示成功了。
MySQL
下載 MySQL
首先,要自行到官網下載。官網下載頁面
我下載的是目前最新版的 “mysql-8.0.13-macos10.14-x86_64.dmg” 安裝包。
安裝 MySQL
照著安裝介面的步驟安裝即可。
啟動 MySQL
有兩種方式:
-
到『系統偏好設定』,點擊 MySQL 圖示,透過 UI 來開啟。
-
用 command line 開啟。
sudo /usr/local/mysql/support-files/mysql.server start
command line 設定 zsh 加入 環境變數 path
為方便在 command line 使用 mysql
命令,需要一些設定。
我的 shell 由 bash
改成 zsh
,因此以 zsh
的操作為例。
-
在 home 目錄下找到
.zshrc
檔,並用 vim 編輯:
cd ; vim .zshrc
-
在最底下加入路徑:
export PATH="/usr/local/mysql/bin:$PATH"
-
最後,source
.zshrc
檔,或是重啟 終端機 就可以了:
source ~/.zshrc
到這邊已經可以參考 MySQL 官方文件的教學,使用 command line 來自行設定密碼及操作資料庫了。
解決 MySQL 8.0 在 Node.JS 的登入問題
若你使用 MySQL 8.0,可能會遇到使用預設創建 user,密碼卻無法成功登入的問題。這可能是 Node.JS 無法支援 MySQL 8.0 caching_sha2_password
的問題,必須改回使用 mysql_native_password
。
- 輸入以下 query 重設密碼:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'
phpMyAdmin
下載 phpMyAdmin
首先,自行到官網下載 phpMyAdmin。
安裝 phpMyAdmin
- 先在
/Library/WebServer/Documents/
建一個phpmyadmin
資料夾:
cd /Library/WebServer/Documents/
sudo mkdir phpmyadmin
- 將下載下來的整包資料,全部放到剛剛的資料夾裡面:
cp -r phpMyAdmin-4.2.2-all-languages/. /Library/WebServer/Documents/phpmyadmin/
瀏覽器輸入 http://localhost/phpmyadmin/
,就可成功看到 phpMyAdmin 的登入畫面。
解決 phpMyAdmin 登入時出現的 #2002 error 問題
若登入 phpMyAdmin 的時候出現下面錯誤碼:
mysqli_real_connect(): (HY000/2002): No such file or directory
- 解法一:
修改 phpmyadmin 資料夾當中的 config.inc.php
檔:
將
$cfg['Servers'][$i]['host'] = 'localhost';
改成
$cfg['Servers'][$i]['host'] = '127.0.0.1';
- 解法二:
新增 /var/mysql
資料夾:
sudo mkdir /var/mysql
建立 “/tmp/mysql.sock” 及 “/var/mysql/mysql.sock” 的連結:
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
參考資料:
- https://www.jianshu.com/p/07a9826898c0
- https://stackoverflow.com/questions/50093144/mysql-8-0-client-does-not-support-authentication-protocol-requested-by-server
- https://coolestguidesontheplanet.com/install-apache-mysql-php-and-phpmyadmin-on-macos-high-sierra-10-13/
- https://bonze.tw/mac-%E8%A7%A3%E6%B1%BA-zsh-command-not-found/
- http://violin-tao.blogspot.com/2014/05/lab-mac-mysql-phpmyadmin.html
- https://stackoverflow.com/questions/41881123/mysqli-real-connect-hy000-2002-no-such-file-or-directory
- https://dev.mysql.com/doc/refman/8.0/en/tutorial.html