[部署] 配置 Apache, PHP, MySQL, phpMyAdmin 在本機 ( macOS )
TWGD / 2018-12-14
版本資訊:
</br>
Apache
sudo apachectl start
httpd -v
若打開瀏覽器輸入 http://localhost
,如果看到『 It works! 』,代表成功開啟 Apache 囉!
</br>
其他 Apache 操作命令:
停止 Apache:
sudo apachectl stop
重啟 Apache:
sudo apachectl restart
</br>
預設根目錄
http://localhost/
系統預設的根目錄是放在這裡:
/Library/WebServer/Documents/
❗ unsupported type: quote</br>
PHP
❗ unsupported type: quotehttpd.conf
這個檔案來修改:
sudo vim /etc/apache2/httpd.conf
#
註解並存檔:
#LoadModule php7_module libexec/apache2/libphp7.so
sudo apachectl restart
</br>
試著在根目錄新增一個檔案 phpinfo.php
,內容為:
<?php phpinfo(); ?>
打開瀏覽器輸入 http://localhost/phpinfo.php
,若看到 PHP 版本資訊,就表示成功了。
</br>
MySQL
下載 MySQL
首先,要自行到官網下載。官網下載頁面
我下載的是目前最新版的 “mysql-8.0.13-macos10.14-x86_64.dmg” 安裝包。
</br>
安裝 MySQL
照著安裝介面的步驟安裝即可。
</br>
啟動 MySQL
有兩種方式:
sudo /usr/local/mysql/support-files/mysql.server start
</br>
command line 設定 zsh 加入 環境變數 path
為方便在 command line 使用 mysql
命令,需要一些設定。
我的 shell 由 bash
改成 zsh
,因此以 zsh
的操作為例。
.zshrc
檔,並用 vim 編輯:
cd ; vim .zshrc
export PATH="/usr/local/mysql/bin:$PATH"
.zshrc
檔,或是重啟 終端機 就可以了:
source ~/.zshrc
</br>
到這邊已經可以參考 MySQL 官方文件的教學,使用 command line 來自行設定密碼及操作資料庫了。
</br>
解決 MySQL 8.0 在 Node.JS 的登入問題
若你使用 MySQL 8.0,可能會遇到使用預設創建 user,密碼卻無法成功登入的問題。這可能是 Node.JS 無法支援 MySQL 8.0 caching_sha2_password
的問題,必須改回使用 mysql_native_password
。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'
</br>
phpMyAdmin
下載 phpMyAdmin
首先,自行到官網下載 phpMyAdmin。
</br>
安裝 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 的登入畫面。
</br>
解決 phpMyAdmin 登入時出現的 #2002 error 問題
若登入 phpMyAdmin 的時候出現下面錯誤碼:
mysqli_real_connect(): (HY000/2002): No such file or directory
</br>
修改 phpmyadmin 資料夾當中的 config.inc.php
檔:
將
$cfg['Servers'][$i]['host'] = 'localhost';
改成
$cfg['Servers'][$i]['host'] = '127.0.0.1';
</br>
新增 /var/mysql
資料夾:
sudo mkdir /var/mysql
建立 “/tmp/mysql.sock” 及 “/var/mysql/mysql.sock” 的連結:
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
</br> </br>