Skip to content

NCKU STUDY 開發環境設定

fung-hei-man edited this page Jan 4, 2022 · 21 revisions

NCKU STUDY 開發環境設定

Basic requirement

  • PHP: 7.3.30
  • MySQL: 5.0.12
  • Node.js: 14.17.6
  • Composer: 1.10.22
  • Apache: 2.4.48

【Part.1】 安裝xampp(Apache + php + phpMyAdmin)

1-1. 下載(php>7)

https://www.apachefriends.org/zh_tw/download.html

1-2. 選擇以下選項

1-3. 開啟Apache和php

1-4. 開啟phpMyAdmin

1-5. 新增使用者

1-6. 名稱為nckutrans,密碼隨便

【Part.2】安裝composer

https://getcomposer.org/download/ windows系統請重新開機

【Part.3】安裝node.js LTS

https://nodejs.org/zh-tw/download/ windows系統請重新開機

【Part.4】安裝git

安裝

https://git-scm.com/downloads

設定

https://git-scm.com/book/zh-tw/v2/%E9%96%8B%E5%A7%8B-%E5%88%9D%E6%AC%A1%E8%A8%AD%E5%AE%9A-Git

【Part.5】專案設定

5-1. Fork專案

5-2. 下載你fork的那份專案

git clone git@github.com:你的帳號/NCKU_Trans.git

5-3. 安裝php相關套件

composer install

備註

如果出現以下訊息

In PackageManifest.php line 122:

  Undefined index: name


Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1

請執行以下指令

composer self-update --1

5-4. 安裝node.js相關套件

npm i

【Part.6】初始化資料庫

6-1. 拉取遠端develop branch的最新版本

git remote add upstream git@github.com:JiaAnTW/NCKU_Trans.git
git checkout -b develop
git pull upstream develop

6-2. 複製專案中的.env.sample,重新命名為.env後,把以下欄位=後改為在phpMyAdmin所設定的值

DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

6-3. 將.env以下欄位=後改為在你想設定的值

DISCORD_WEBHOOK=請看此教學Part.9

ADMIN_NAME=後臺介面管理員名稱
ADMIN_EMAIL=後臺介面管理員登入用email
ADMIN_PASSWORD=後臺介面管理員登入用密碼(請使用你看得懂的,不需要和DB密碼一樣)

6-4. 在專案執行下面兩個指令

  • 建立需要的資料表
php artisan migrate
  • 建立預設的資料
composer dump-autoload
php artisan db:seed

【Part.7】開發

分別執行以下的指令後,網頁會運作在http://127.0.0.1:8000

後端

php artisan serve

第一次執行時可能會出現以下錯誤:RuntimeException No application encryption key has been specified.。請執行以下指令後,再重新執行php artisan serve即可

php artisan key:generate

前端

npm run watch

【Part.8】打包

npm run prod

【Part.9】(非必要)Discord webhook怎麼拿?

【常見問題】

Q: 打開http://127.0.0.1:8000一直轉圈圈?

  1. 請確認你使用的Apache和MySQL正在運作中,且MySQL執行於3306 port。以此教學為例,請確認xampp開啟中並將Apache和MySQL設為start。
  2. 查看後端回傳的錯誤訊息,若為In Connection.php line 1262: Class 'PDO' not found,請運行以下指令
yum install php-pdo
yum install php-pdo_mysql

service httpd restart