Laravel 是優雅、富表達力的 PHP Web 框架,採用 MVC 架構、Composer 依賴管理、Artisan 指令列工具、Eloquent ORM、Blade 模板引擎等現代化組件。本文涵蓋從環境準備、安裝、核心配置到伺服器部署的完整流程。
OpenSSL、PDO、Mbstring、Tokenizer、XML、Ctype、JSON、BCMath、Fileinfo、Redis(可選)# 方式 1:Composer create-project(推薦)
composer create-project laravel/laravel my-app "10.*"
# 方式 2:Laravel Installer(全域安裝後)
laravel new my-app
cd my-app
php artisan serve # 開發伺服器 https://127.0.0.1:8000
'debug' => env('APP_DEBUG', false), // 生產環境必須 false
'url' => env('APP_URL', 'https://localhost'),
'timezone' => 'Asia/Taipei', // 時區
'locale' => 'zh_TW', // 語系
'fallback_locale' => 'en',
'key' => env('APP_KEY'), // 32 字元金鑰,php artisan key:generate
'cipher' => 'AES-256-CBC',
'providers' => [...], // 服務提供者
'aliases' => [...], // Facade 別名
'default' => env('DB_CONNECTION', 'mysql'),
'connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'laravel'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => 'InnoDB',
],
// pgsql, sqlite, sqlsrv 同樣支援
],
APP_NAME=Laravel
APP_ENV=local # local, production, testing
APP_KEY=base64:xxx...
APP_DEBUG=true
APP_URL=https://localhost
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_CONNECTION=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
$app->detectEnvironment(function () {
return $_ENV['APP_ENV'] ?? 'production';
});
server {
listen 80;
server_name example.com;
root /var/www/my-app/public; # 必須指向 public/
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
<VirtualHost *:80>
DocumentRoot /var/www/my-app/public
ServerName example.com
<Directory /var/www/my-app/public>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
composer install --optimize-autoloader --no-devphp artisan config:cache、route:cache、view:cachephp artisan migrate --forcenpm run build(Vite 編譯前端資產)storage/、bootstrap/cache/ 可寫權限(www-data)php artisan queue:work --sleep=3 --tries=3* * * * * php /path/artisan schedule:run| 現象 | 原因 | 解決 |
|---|---|---|
| 500 錯誤、白畫面 | APP_KEY 未設定、權限不足、.env 遺漏 | 檢查 storage/logs/laravel.log |
| CSS/JS 404 | DocumentRoot 未指向 public/ | 修正 Nginx/Apache root 設定 |
| Migration 失敗 | 資料庫連線錯誤、字元集不支援 | 確認 DB 設定、使用 utf8mb4 |
| Queue 不執行 | Worker 未啟動、Supervisor 未設定 | 啟動 queue:work、配置開機自啟 |
遵循標準安裝與部署流程,Laravel 專案即可穩定上線並享受生態系豐富套件帶來的開發效率提升。