git clone 了一個 Laravel 專案,然後咧?


Posted by JingTeng on 2020-07-14

從 github 上下載了一個活生生的專案,興奮地 php artisan serve ,怎麼噴出一堆錯誤代碼?
要怎麼要讓它跑起來呢?

不論你是用 clone 還是下載 zip,下載到自己的電腦的一定不是完整的專案,就像濃縮的果汁一樣。
這時候你需要跑一些指令安裝套件和做一些本地設定,才能夠正常地運行專案。

1. 404 not found

php artisan serve 出現 404 not found ,最有可能就是少了套件了。
npm install

2. failed to open stream

Warning: require(C:\xampp\htdocs\birdboard\public/../vendor/autoload.php): failed to open stream: No such file or directory in C:\xampp\htdocs\birdboard\public\index.php on line 24

Fatal error: require(): Failed opening required 'C:\xampp\htdocs\birdboard\public/../vendor/autoload.php' (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\birdboard\public\index.php on line 24
composer install

cmd 告訴你沒有 vender\autoload.php 。
composer install

跟 npm 套件一樣,composer 套件檔案很大、也很常修改,所以通常 vender 檔案預設是不上傳的,只會上傳 composer.json 紀錄。

3. 500 錯誤/something wrong

沒有 .env 。
.env 裡面有許多私密的資料,預設不上傳。通常會有一個 .env.example ,可以用這個修改。
.env.example 改成 .env ,先沿用預設設定。

4. 沒有 APP key

RuntimeException 
No application encryption key has been specified.

cmd 告訴你沒有 key,所以就要給它 key 。
php artisan key:generate

到這邊為止,已經可以看到首頁起來了~
接下來,還要把資料庫連起來!

5. database connection

回到第三步驟提到的 .env ,現在要來設定資料庫。
如果你使用 homestead 要沿用預設的 mysql 和 homestead ,就不需要修改。
如果使用 XAMPP 和想要使用預設的 phpmyadmin ,也只需要改資料庫的名稱和 username。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=

6. migrate

既然是抓下來的專案,通常已經寫好 migration 和 seed ,現在要把它們還原!

php artisan migrate:install
php artisan migrate:refresh
php artisan db:seed

7. config

config\app.php 文件是個拿到基本上就會先改的東西~

    'name' => env('APP_NAME', 'Laravel'), //改成自己的專案名稱 
    'timezone' => 'Asia/Taipei', //不改資料庫時間不對
    'locale' => 'zh-tw', //如果有用中文套件或多國語需求才會改

改完記得 php artisan config:cache 設定檔才會更新

以上,過一陣子就忘記的東西,自己筆記一份。


#Laravel







Related Posts

26. Design Principles - Others

26. Design Principles - Others

Express、ORM & Sequelize 請賜給留言板力量

Express、ORM & Sequelize 請賜給留言板力量

金魚系列、RWD (下) - RWD 選單

金魚系列、RWD (下) - RWD 選單


Comments