Laravel開發環境建置

Windows作業系統

Step 1.安裝XAMPP

PHP + Apache + MariaDB懶人包

下載網址

請下載PHP 7.2.5以上版本,下載完後安裝,過程只需不斷按Next即可。

Step 2.安裝Visual Studio Code

由微軟提供,可免費使用的IDE

下載網址

Step 3.安裝Composer

用於管理所有PHP套件,包含Laravel

下載網址

PS:如之前已安裝過,需升級成新版本,可使用以下指令

composer self-update

Step 4.下載Laravel安裝器

開啟Terminal,輸入以下指令

​​​​composer global require laravel/installer

Step 5.建立Laravel專案

  1. 開啟Terminal,切換到xampp的htdocs資料夾,輸入指令,路徑應根據您的狀況作調整

    cd c:\xampp\htdocs

2.如果要建立的是最新Laravel版本的專案,請輸入指令

​​​​`laravel new app_name`

2.1 如果要建立指定Laravel版本的新專案,例如5.8,需使用composer,請輸入指令

composer create-project --prefer-dist laravel/laravel app_name "5.8.*"

  1. 生成應用金鑰,開啟Terminal,切換到新建立的專案資料夾,請輸入指令

    php artisan key:generate

  2. 開啟專案,確定是否有.env檔案,如果找不到.env檔,可將.env.example檔案改名成.env

Step 6.確認建置是否成功

請確保Apache服務和MySQL服務都有開啟

  1. 開啟瀏覽器,比如Google Chrome

  2. 輸入網址 http://localhost/app_name/public

Step 7.設定本地化網域(非必須)

  1. 將所命名的網域指向到本機 127.0.0.1,作法是修改hosts,這裡以laravel.dev為例
//C:\WINDOWS\system32\drivers\etc\hosts

127.0.0.1 laravel.dev #Laravel學習專案
  1. 告訴此網域需要由哪個專案資料夾來接手,作法是修改httpd-vhost.conf,路徑應根據您的狀況作調整
//XAMPP資料夾\apache\conf\extra\httpd-vhosts.conf
 
<VirtualHost *:80>
    DocumentRoot "c:\xampp\htdocs\app_name\public"  
    ServerName laravel.test       
    <Directory "c:\xampp\htdocs\app_name\public">
        Options FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
  1. 要求Apache開啟時需讀取httpd-vhosts.conf,作法是修改 XAMPP資料夾\apache\conf\original\httpd.conf。找到httpd-vhosts.conf那一行,把前面的#註解移除。

  2. 重開Apache服務,訪問http://laravel.test,看能否順利開啟

Mac 作業系統

Step 1.安裝XAMPP

PHP + Apache + MariaDB懶人包

下載網址

請下載PHP 7.2.5以上版本,下載完後安裝,過程只需不斷按Next即可。

選擇相同版號容量較小的非VM版本

Step 2.安裝Visual Studio Code

由微軟提供,可免費使用的IDE

下載網址

Step 3.安裝Composer

用於管理所有PHP套件,包含Laravel

  1. 進入Composer官網,複製指令
    指令複製網址

  2. 開啟Terminal,貼入以下指令並執行

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
  1. 搬移到指定位置,指令如下:

sudo mv composer.phar /usr/local/bin/composer

如果/usr/local/bin不存在,輸入指令來建立:sudo mkdir /usr/local/bin

  1. 開啟.bash_profile來設定路徑,輸入指令: touch ~/.bash_profile;open ~/.bash_profile
    4.1 加入以下程式碼
    export PATH=/usr/local/bin:$PATH

  2. 立即讀取路徑設定,輸入指令: source ~/.bash_profile

Step 4.安裝Homebrew以下載缺少套件(非必須)

可先跳到Step 5,如果安裝失敗再回來

用於Mac環境安裝工具或套件,當執行composer時找不到必須套件,就需要使用Homebrew來下載

  1. 開啟安裝Homebrew網站去複製指令,網址為https://brew.sh
  2. 開啟Terminal,貼入以下指令並執行
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
  3. 開啟Terminal,輸入指令:
brew install php@7.4 
brew link php@7.4 --force

PS: 7.4版本應替換為你所安裝XAMPP所採用的PHP版本

Step 5.下載Laravel安裝器

如果進行這個階段遇到錯誤,請先退回到Step4安裝完再回來。如果跳出需要命令列開發者工具,點安裝來安裝工具

  1. 開啟Terminal,輸入以下指令
    composer global require "laravel/installer"
  2. 開啟.bash_profile以設定路徑,輸入指令:touch ~/.bash_profile;open ~/.bash_profile;
    2.1 修改完整程式碼如下:
    export PATH=$HOME/.composer/vendor/bin:/Applications/XAMPP/xamppfiles/bin:/usr/local/bin:$PATH
  3. 立即讀取路徑設定,指令為 source ~/.bash_profile

Step 6.建立Laravel專案

  1. 開啟Terminal,切換到xampp的htdocs資料夾,輸入指令,路徑應根據您的狀況作調整

    cd /Applications/XAMPP/htdocs

  2. 如果要建立指定Laravel版本的新專案,例如5.8,需使用composer,請輸入指令

    composer create-project --prefer-dist laravel/laravel app_name "5.8.*"

    2.1(可選) 如果要建立的是最新Laravel版本的專案,請輸入指令

    laravel new app_name

  3. 生成應用金鑰,開啟Terminal,切換到新建立的專案資料夾,輸入指令

    php artisan key:generate

  4. 將storage資料夾權限全開,同樣在Terminal,路徑在專案資料夾,輸入指令

    sudo chmod -R 777 storage

  5. 開啟專案,確定是否有.env檔案,如果找不到.env檔,可將.env.example檔案改名成.env

Step 7.確認建置是否成功

請確保Apache服務和MySQL服務都有開啟

開啟瀏覽器,比如Google Chrome

輸入網址 http://localhost/app_name/public

Step 8.設定本地化網域(非必須)

  1. 將所命名的網域指向到本機 127.0.0.1,作法是修改hosts,這裡以laravel.dev為例
//etc\hosts

127.0.0.1 laravel.test #Laravel學習專案
  1. 告訴此網域需要由哪個專案資料夾來接手,作法是修改httpd-vhost.conf,加入以下設定,路徑應根據您的狀況作調整
//XAMPP資料夾\etc\extra\httpd-vhosts.conf

<VirtualHost *:80>
    DocumentRoot "/Applications/XAMPP/htdocs/app_name/public"  
    ServerName laravel.test       
    <Directory "/Applications/XAMPP/htdocs/app_name/public">
        Require all granted
        Options All
        AllowOverride All
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>
  1. 要求Apache開啟時需讀取httpd-vhosts.conf,作法是修改//XAMPP資料夾\etc\httpd.conf。找到httpd-vhosts.conf那一行,把前面的#註解移除。

  2. 重開Apache服務

  3. 開啟瀏覽器,訪問http://laravel.test,看能否順利開啟

專案設定

主設定檔修改

修改config/app.php,設定timezone時區與locale語系

//config/app.php

'locale' => 'zh_TW',
'timezone' => 'Asia/Taipei',

隱私設定檔設定

修改.env檔案,所設的值不可以有空格

//.env

APP_NAME=Blog //專案名稱
APP_ENV=local //專案所在環境,local為本地端開發,production為正式上線環境
APP_KEY //應用金鑰,不得為空,可透過 php artisan key:generate來生成
APP_DEBUG=true //是否開啟除錯模式,正式上線環境建議關掉
APP_URL=http://localhost/blog/public //專案網域,須設定到public資料夾

DB_CONNECTION=mysql //所要連接的資料庫
DB_HOST=127.0.0.1 //資料庫Ip Address
DB_PORT=3306 //資料庫port號
DB_DATABASE=blog //資料庫名稱
DB_USERNAME=root //資料庫帳號
DB_PASSWORD= //資料庫密碼

錯誤排除

套件安裝錯誤

1.出現記憶體不足的錯誤導致安裝失敗

解決方案:

找到Apache資料夾內的php.ini(Windows版本在php資料夾內),找到裏頭的一行設定"memory_limit",將其值改成-1,即可不限定伺服器的記憶體空間

套件安裝太慢

解決方案:

可能是Composer內核還是1.x版本,請升級到2.0.6以上,請開啟CMD輸入以下指令

composer self-update --2

資料庫連線錯誤

  1. 出現1071 Specified key was too long; max key length is 767 bytes

解決方法:

開啟 app\Providers\AppServiceProvider.php

加入以下程式碼:

use Illuminate\Support\Facades\Schema;

public function boot()
{
    Schema::defaultStringLength(191);
}

權限不足錯誤

  1. Mac開發環境出現storage資料夾的 failed to open stream:Permission denied

解決方法:

開啟Terminal,切換到專案資料夾後,輸入以下指令

sudo chmod -R 777 storage

應用錯誤

  1. 出現No application encryption key has been specified

錯誤原因是缺少應用的金鑰

解決方案:

開啟Terminal,切換到專案資料夾後,輸入以下指令

php artisan key:generate

Select a repo