របៀប deploy Laravel project នៅលើ Vercel ជាមួយ Database D1 ដោយមិនអស់ប្រាក់១សេន 🚀

Deploy Laravel Project ដោយមិនអស់ប្រាក់១សេន 🚀
ចង់ Deploy Laravel project របស់អ្នកឲ្យអ្នកផ្សេងឃើញអត់? តោះខ្ញុំមកប្រាប់អំពីរបៀប Deploy Project ដោយមិនអស់លុយ១សេន ហាសហាៗៗៗ
ដំបូងយើងត្រូវភ្ជាប់ Project របស់យើងទៅក្នុង Github
បន្ទាប់មកបង្កើតឯកសារទាំងនេះ:
1. បង្កើត file api/index.php
<?php require __DIR__ . "/../public/index.php";
2. បង្កើត file .vercelignore
/vendor
3. បង្កើត file vercel.json
{ "version": 2, "framework": null, "functions": { "api/index.php": { "runtime": "vercel-php@0.7.3" } }, "routes": [ { "src": "/build/(.*)", "dest": "/build/$1" }, { "src": "/(.*\\.(?:css|js|png|jpg|jpeg|gif|svg|ico|ttf|woff|woff2|eot|otf|webp|avif|txt))$", "dest": "/public/$1" }, { "src": "/(.*)", "dest": "/api/index.php" } ], "outputDirectory": "public", "env": { "APP_ENV": "production", "APP_DEBUG": "true", "APP_URL": "https://ah-toch-store-laravel.vercel.app", "APP_KEY": "base64:SB9NTkLD4xlbWsqishQ/ctmaOc0iT6pLEuzeaMpANPM=", "APP_CONFIG_CACHE": "/tmp/config.php", "APP_EVENTS_CACHE": "/tmp/events.php", "APP_PACKAGES_CACHE": "/tmp/packages.php", "APP_ROUTES_CACHE": "/tmp/routes.php", "APP_SERVICES_CACHE": "/tmp/services.php", "VIEW_COMPILED_PATH": "/tmp", "CACHE_DRIVER": "array", "LOG_CHANNEL": "stderr", "SESSION_DRIVER": "cookie", "DB_CONNECTION": "d1", "CLOUDFLARE_D1_DATABASE_ID": "your-database-id", "CLOUDFLARE_TOKEN": "your-cloudflare-token", "CLOUDFLARE_ACCOUNT_ID": "your-account-id" } }
បន្ទាប់មកយើងចូលទៅកាន់ https://vercel.com/ ដើម្បីធ្វើការចុះឈ្មោះ
បន្ទាប់ពីចុះឈ្មោះហើយៗ យើងចូលទៅកាន់ Dashboard ហើយចុះ Add new... -> Project -> Import Git Repository -> Framework Preset -> Other
បង្កើត Database
1. Install package
composer require ntanduy/cloudflare-d1-database
2. បន្ថែមនៅក្នុង config/database.php
'd1' => [ 'driver' => 'd1', 'prefix' => '', 'database' => env('CLOUDFLARE_D1_DATABASE_ID', ''), 'api' => 'https://api.cloudflare.com/client/v4', 'auth' => [ 'token' => env('CLOUDFLARE_TOKEN', ''), 'account_id' => env('CLOUDFLARE_ACCOUNT_ID', ''), ], ],
3. បង្កើត D1 database
npx wrangler d1 create ah-toch-store1
Config .env file
បង្កើត .env
file សម្រាប់ local development:
APP_NAME=Laravel APP_ENV=local APP_KEY=base64:SB9NTkLD4xlbWsqishQ/ctmaOc0iT6pLEuzeaMpANPM= APP_DEBUG=true APP_URL=http://localhost:8000 DB_CONNECTION=d1 CLOUDFLARE_D1_DATABASE_ID=your-database-id CLOUDFLARE_TOKEN=your-cloudflare-token CLOUDFLARE_ACCOUNT_ID=your-account-id BROADCAST_DRIVER=log CACHE_DRIVER=array FILESYSTEM_DISK=local QUEUE_CONNECTION=sync SESSION_DRIVER=cookie SESSION_LIFETIME=120
Config .env នៅលើ Vercel:
ចូលទៅកាន់ Vercel Dashboard -> Your Project -> Settings -> Environment Variables បន្ថែម variables ទាំងនេះ:
APP_ENV=production
APP_DEBUG=false
APP_URL=https://your-project-name.vercel.app
APP_KEY=base64:SB9NTkLD4xlbWsqishQ/ctmaOc0iT6pLEuzeaMpANPM=
DB_CONNECTION=d1
CLOUDFLARE_D1_DATABASE_ID=your-database-id
CLOUDFLARE_TOKEN=your-cloudflare-token
CLOUDFLARE_ACCOUNT_ID=your-account-id
Run Migration
បន្ទាប់ពី config រួចហើយ អ្នកអាចរត់ migration:
php artisan migrate
ចំណាំ៖ វិធីសាស្រ្តនេះមិនអាចប្រើជាមួយ laravel version 12 បានទេ current working version is : laravel 11.x
ហេតុអ្វីត្រូវ config .env ទាំង local និង Vercel ដូចគ្នា? ពីព្រោះយើងចង់ឲ្យ database connection ដូចគ្នាទាំងពីរ environment ដើម្បីងាយស្រួលក្នុងការ develop និង deploy!
រួចហើយ! ឥឡូវ project របស់អ្នកអាច deploy បាន free 100% ហើយ! 🎉
Github Repo: https://github.com/beysach/laravel-react-starter-kit-deploy
Preview Demo: https://laravel-react-starter-kit-deploy.vercel.app
Video Deploy Below: https://www.facebook.com/share/v/15oSQC7ZFw/