Skip to content
This repository was archived by the owner on Sep 13, 2022. It is now read-only.
This repository was archived by the owner on Sep 13, 2022. It is now read-only.

[部署] 配置 Apache, PHP, MySQL, phpMyAdmin 在本機 ( macOS ) #7

@twgd

Description

@twgd

版本資訊:

  • 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'

詳細可以參考:https://stackoverflow.com/questions/50093144/mysql-8-0-client-does-not-support-authentication-protocol-requested-by-server


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';

詳細可以參考:https://stackoverflow.com/questions/41881123/mysqli-real-connect-hy000-2002-no-such-file-or-directory


  • 解法二:

新增 /var/mysql 資料夾:
sudo mkdir /var/mysql

建立 “/tmp/mysql.sock” 及 “/var/mysql/mysql.sock” 的連結:
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

詳細可以參考:https://coolestguidesontheplanet.com/install-apache-mysql-php-and-phpmyadmin-on-macos-high-sierra-10-13/#mysql




參考資料:

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions