接近零配置的 Laravel 開發環境,把 docker, mysql, nginx 都省略掉,另外採用 Laravel 10 作為起始版本,作為前進到 Laravel 11 之前的過渡版本
首先,確保系統上已經安裝了 Composer
,它是 PHP 的套件管理工具。可以使用以下命令確認 Composer 是否安裝:composer --version
如果還沒有安裝 Composer,可以前往官方網站下載並安裝。
使用 Composer 創建 Laravel 專案。執行以下命令來安裝 Laravel 10: composer create-project --prefer-dist laravel/laravel:^10.0 {my-laravel-app}
這會下載並安裝最新的 Laravel 10 版本,並在 my-laravel-app 資料夾中建立專案。你可以將 my-laravel-app 替換為你希望的專案名稱。
進入剛剛建立的專案資料夾:cd my-laravel-app
Laravel 專案會自動生成一個 .env 檔案,你可以在此檔案中配置專案的各種環境變數(如資料庫連線、應用程式設定等)。在使用之前,請確保根據你的需求修改相關配置。
Laravel 需要一個應用密鑰來加密一些重要資料。你可以使用 Artisan 命令來產生一個新的密鑰: php artisan key:generate
這會自動在 .env 檔案中更新 APP_KEY。
Laravel 提供了內建的開發伺服器,執行以下命令來啟動: php artisan serve
伺服器會在 http://localhost:8000 運行,你可以在瀏覽器中訪問這個網址來查看 Laravel 專案是否正確運行。
打開 .env 檔案並修改資料庫設定部分:
DB_CONNECTION=sqlite
DB_DATABASE=./database/database.sqlite
然後使用 Artisan 命令來遷移資料表結構: php artisan migrate
這會根據 database/migrations 目錄中的遷移檔案創建資料表。
SQLite 與 MySQL 的主要差異
SQLite 是一個內嵌式資料庫,資料庫就是一個單一檔案,無需額外安裝資料庫伺服器,適合小型專案或開發環境。
MySQL 是一個獨立的伺服器應用程式,適合多用戶、規模較大的專案。
SQLite 佔用非常少的資源,無需後台伺服器運行。
MySQL 需要較多系統資源來運行伺服器程式。
SQLite 不適合多用戶併發寫入,因為它在單個寫入操作期間會鎖定整個資料庫。
MySQL 支援多用戶、並行操作,適合大型應用的併發寫入需求。
SQLite 不支援如 MySQL 那樣的進階功能(如複寫、資料分片、複雜的權限管理)。
MySQL 提供了這些功能,並且適合生產環境下的複雜應用程式。
SQLite 的資料型別系統相對寬鬆,允許將不同型別的數據存入同一欄位。
MySQL 嚴格依據定義的資料型別來存儲數據,確保資料一致性。
SQLite 對於小型單一用戶應用非常高效,因為它是內嵌在應用程式中的。
MySQL 在大型應用中表現更佳,尤其是在處理大量並發請求時。
SQLite 的資料庫就是一個檔案,因此備份非常簡單,只需複製檔案即可。
MySQL 則需要執行資料庫備份工具或使用 SQL 匯出。