Gratis update & dukungan instalasi

Panduan 10 Oct 2026

Cara Upgrade Laravel ke Versi Terbaru: Panduan Aman Naik dari Versi 8/9/10/11 (2026)

R Oleh renz mobellgnd
Cara Upgrade Laravel ke Versi Terbaru: Panduan Aman Naik dari Versi 8/9/10/11 (2026)

Upgrade Laravel ke versi terbaru dilakukan satu tingkat versi besar dalam satu waktu — tidak boleh melompat dari 8 langsung ke 13 — dengan alur aman: backup penuh dan commit Git, naikkan versi PHP sesuai syarat, update laravel/framework di composer.json, jalankan composer update, perbaiki breaking changes sesuai panduan resmi, bersihkan cache, lalu uji di staging sebelum deploy ke production.

Banyak template dan aplikasi Laravel yang dijual di marketplace dibangun di Laravel 9 atau 10, padahal versi 10 sudah tidak menerima perbaikan keamanan sejak 4 Februari 2025. Laravel 13 sendiri sudah rilis (Q1 2026), dengan dukungan keamanan Laravel 12 sampai 24 Februari 2027 dan Laravel 13 sampai Q1 2028 — menurut kebijakan dukungan resmi laravel.com/docs/releases. Aplikasi yang dibiarkan di versi lama berjalan tanpa tambalan keamanan resmi: risiko yang tidak layak diambil untuk website produksi.

Panduan ini ditulis dari sudut pandang praktis: Anda baru membeli source code Laravel versi lama (atau mengelola proyek lama sendiri) dan ingin menaikkannya dengan aman, tanpa kehilangan data dan tanpa merusak fitur yang sudah jalan.

Apakah aplikasi saya wajib di-upgrade?

Tidak selalu. Gunakan tabel ini:

Kondisi Rekomendasi
Laravel 9/10, tidak menerima update keamanan lagiUpgrade. Versi ini sudah end-of-life untuk perbaikan keamanan.
Laravel 11, aplikasi stabil, semua package masih kompatibelBoleh tunggu, tapi siapkan rencana. Dukungan keamanan berakhir 12 Maret 2026.
Laravel 12, jalan normalPrioritas rendah. Fokus ke pengembangan fitur.
Baru beli source code, dokumentasi bilang "Laravel 10"Upgrade ke 12/13 sebelum go-live, selagi trafik masih nol.
Upgrade butuh perubahan besar tapi aplikasi stabil & jarang disentuhPertimbangkan risiko: website "jadi tapi jarang dibuka" kadang lebih aman dibiarkan dengan hardening tambahan.

Aturan praktisnya: kalau aplikasi sudah online dan menampung data pelanggan, versi yang masih mendapat perbaikan keamanan adalah syarat minimum.

Syarat versi PHP setiap versi Laravel

Ini jebakan paling umum: hosting cuma menyediakan PHP 7.4 atau 8.1, padahal target Laravel butuh PHP lebih baru. Tabel syarat minimum (per dokumentasi resmi):

Versi Laravel Versi PHP yang dibutuhkan
87.3 – 8.x
98.0 – 8.1
108.1 – 8.3
118.2 – 8.4
128.2 – 8.5
138.3 – 8.5

Cek versi PHP di server sebelum apa pun:

php -v
composer --version

Kalau di shared hosting dan versi PHP-nya mentok di 8.1, Anda hanya bisa naik sampai Laravel 10. Naik ke 11/12/13 berarti pindah hosting atau upgrade paket — ini faktor penentu yang harus dipastikan sebelum menyentuh satu baris kode pun.

Persiapan sebelum menyentuh apa pun

Lewati bagian ini dan upgrade berubah jadi judi. Siapkan dulu:

  1. Backup penuh — database + seluruh file (termasuk .env dan storage). Belum punya alur backup? Ikuti panduan backup otomatis website Laravel.
  2. Commit Git — git add . && git commit -m "chore: titik aman sebelum upgrade Laravel" supaya rollback tinggal git checkout.
  3. Siapkan staging — upgrade TIDAK pernah dilakukan langsung di production. Duplikasikan aplikasi ke subdomain staging.
  4. Catat versi sekarang — php artisan --version, isi composer.json, dan daftar package pihak ketiga.
  5. Cek kompatibilitas package — package seperti spatie/* atau laravel/sanctum punya versi Laravel masing-masing. Cek Packagist/GitHub tiap package sebelum upgrade.

Satu hal yang sering dilupakan pembeli source code: cek versi Laravel sebelum membeli — baca tips memilih source code yang tepat agar tidak salah pilih sejak awal.

Langkah 1: Naik satu versi besar dalam satu waktu

Ini aturan emas dari panduan upgrade resmi Laravel: dari 8 ke 9, lalu 9 ke 10, lalu 10 ke 11, dan seterusnya. Melompat dua versi berarti menumpuk dua set breaking changes sekaligus — hampir pasti ada yang terlewat. Untuk proyek Laravel 9 menuju 13: 9 → 10 → 11 → 12 → 13, dengan test hijau di setiap tahap.

Langkah 2: Update composer.json, lalu composer update

Ubah versi framework di composer.json:

"require": {
"php": "^8.3",
"laravel/framework": "^13.0",
"laravel/tinker": "^2.10"
},
"require-dev": {
"phpunit/phpunit": "^11.5"
}

Kemudian jalankan:

composer update

Gunakan composer update penuh (bukan per-package) pada tahap awal agar dependensi terkait ikut naik. Kalau Composer protes konflik versi pada package pihak ketiga, itu sinyal: package itu belum mendukung Laravel target — cari versi package yang mendukung, atau cari penggantinya.

Langkah 3: Perbaiki breaking changes per versi

Setiap lompatan versi punya perubahan wajib. Yang paling berdampak dari beberapa versi terakhir:

Laravel 10 → 11: restrukturisasi aplikasi. Ini perubahan struktur terbesar dalam satu dekade. File app/Http/Kernel.php dan app/Console/Kernel.php tidak lagi dipakai di proyek baru; bootstrap aplikasi pindah ke bootstrap/app.php dengan sintaks baru:

use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;

return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__.'/../routes/web.php',
commands: __DIR__.'/../routes/console.php',
health: '/up',
)
->withMiddleware(function (Middleware $middleware) {
//
})
->withExceptions(function (Exceptions $exceptions) {
//
})->create();

Aplikasi lama yang di-upgrade tetap bisa jalan dengan struktur lama — Laravel 11 masih mengenali kernel lama. Migrasi ke struktur baru bersifat opsional dan bisa dilakukan bertahap. Perhatikan juga: di Laravel 11, folder config dipangkas dan banyak konfigurasi pindah ke .env.

Laravel 12 → 13: middleware CSRF diganti nama. Menurut panduan upgrade resmi, VerifyCsrfToken menjadi PreventRequestForgery dan kini memverifikasi asal permintaan lewat header Sec-Fetch-Site. Kalau aplikasi Anda meng-custom CSRF middleware (misalnya pengecualian route untuk webhook payment gateway), sesuaikan — route webhook yang tadinya dikecualikan bisa tiba-tiba kena blokir 419.

Langkah 4: Bersihkan cache dan jalankan test

Setelah composer selesai tanpa error:

php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear
php artisan about
php artisan test

php artisan about memastikan framework terdeteksi dengan versi yang benar. php artisan test adalah gerbang go/no-go: kalau ada test merah, jangan lanjut ke versi berikutnya dan jangan deploy. Kalau source code yang Anda beli tidak menyertakan test sama sekali, uji manual seluruh alur kritis (login, checkout, upload, email) di staging.

Langkah 5: Opsi otomatis — Laravel Shift

Untuk lompatan jauh (misalnya 8 → 13) pada codebase besar, pertimbangkan Laravel Shift: layanan berbayar yang membuat pull request berisi seluruh perubahan upgrade per versi. Tetap review dan test hasilnya sebelum merge — jangan langsung diterima mentah-mentah.

Troubleshooting yang paling sering muncul

Composer error "your php version does not satisfy requirements". Versi PHP di CLI lebih rendah dari syarat. Di shared hosting, PHP untuk CLI dan web bisa berbeda — cek php -v di terminal, bukan cuma info di cPanel.

Package pihak ketiga belum mendukung versi target. Tahan dulu di versi Laravel yang masih didukung package itu, atau cari pengganti yang aktif di-maintain. Jangan memaksa dengan fork sembarangan — fork tak terawat adalah utang teknis.

Error 500 setelah upgrade. Nyalakan mode debug di staging, baca storage/logs/laravel.log, dan ikuti checklist mengatasi error 500 setelah upload — penyebabnya 90% sama: .env, permission folder storage, atau cache basi.

Aplikasi terasa lebih lambat setelah upgrade. Umumnya bukan salah framework-nya, melainkan query tanpa indeks atau cache yang belum dibangun ulang. Jalankan ulang langkah optimasi kecepatan Laravel setelah upgrade selesai.

Cara ini tidak cocok jika...

  1. Aplikasi memakai package yang sudah mati (abandoned) dan tidak ada penggantinya. Upgrade framework tanpa upgrade package = aplikasi rusak. Dalam kasus ini, pertimbangkan rewrite parsial atau tetap di versi lama dengan hardening keamanan ekstra (baca 9 langkah mengamankan website setelah beli source code).
  2. Deadline go-live tinggal hitungan hari. Upgrade besar di tengah deadline adalah resep bencana. Rilis dulu di versi lama yang stabil, jadwalkan upgrade di sprint berikutnya.
  3. Budget hosting tidak memungkinkan naik versi PHP. Kalau mentok di shared hosting PHP 8.1, target realistis Anda adalah Laravel 10 — atau pindahkan ke VPS.

Kesimpulan

Upgrade Laravel ke versi terbaru bukan sekadar composer update — ini proyek mini dengan disiplin sendiri: naik satu versi besar dalam satu waktu, pastikan syarat PHP terpenuhi, backup dan staging dulu, perbaiki breaking changes sesuai panduan resmi, lalu verifikasi dengan test. Untuk pembeli source code, momen termurah untuk upgrade adalah sebelum go-live. Setelah aplikasi online, upgrade adalah investasi keamanan: versi yang masih mendapat perbaikan resmi adalah garis pertahanan pertama website Anda.

FAQ

Berapa lama waktu yang dibutuhkan untuk upgrade Laravel? Lompatan satu versi pada aplikasi standar: 10–30 menit menurut estimasi panduan resmi, plus testing. Lompatan jauh (misalnya 8 → 13) pada aplikasi besar: siapkan 1–3 hari kerja termasuk testing di staging.

Apakah data database hilang saat upgrade Laravel? Tidak — upgrade hanya mengubah kode framework dan dependensi PHP, bukan skema/isi database. Yang berisiko adalah human error (misalnya salah menjalankan migrate:fresh), makanya backup database sebelum upgrade hukumnya wajib.

Bolehkah upgrade langsung dari Laravel 8 ke Laravel 13? Tidak disarankan. Naik bertahap 8 → 9 → 10 → 11 → 12 → 13, dengan test hijau di setiap tahap.

Apakah struktur lama (Kernel.php) masih bisa dipakai di Laravel 11+? Bisa. Struktur baru lewat bootstrap/app.php hanya wajib untuk proyek fresh; migrasi bersifat opsional dan bertahap.

Kapan waktu terbaik upgrade untuk source code yang baru dibeli? Sebelum go-live — saat trafik masih nol, rollback tidak menyakiti siapa pun. Setelah online, jadwalkan di jam trafik rendah dengan maintenance window.

Apakah Laravel Shift gratis? Tidak, ini layanan berbayar per upgrade. Untuk lompatan satu versi, upgrade manual mengikuti panduan resmi biasanya cukup.

Versi Laravel berapa yang masih aman dipakai di 2026? Per kebijakan dukungan resmi: Laravel 11 menerima perbaikan keamanan sampai 12 Maret 2026, Laravel 12 sampai 24 Februari 2027, dan Laravel 13 sampai Q1 2028. Laravel 10 ke bawah sudah tidak menerima perbaikan keamanan — prioritaskan upgrade.