Tiga Cara Storage Link Laravel di Hosting
Setelah upload ke hosting dan konfigurasi laravel selesai, jika Anda menggunakan fitur storage di laravel, ada salah satu command yang harus dieksekusi yaitu php artisan storage:link
.
Pada dasarnya command tersebut membuat symlink antara folder storage/app/public
ke folder public/storage
. Tidak seperti di vps yang tinggal menjalankan command tersebut, di hosting ada berbagai cara untuk ini, diantaranya sebagai berikut.
Sebelum masuk ke langkah utama, ketika Upload Laravel ke Hosting biasanya folder storage di folder public ikut terbawa juga. Oleh karena itu hapus dulu folder tersebut, jika sudah lanjut ke tahap selanjutnya.
Cara Pertama — Membuat route
Untuk menggunakan cara pertama ini pastikan hosting yang Anda gunakan tidak mendisabled fitur symlink. Jika ternyata disabled anda bisa melewati cara pertama ini.
Disini kita akan membuat routing baru yang mana akan menjalankan peritah artisan menggunakan class facade Artisan.
- Buka file manager melalui CPanel
- Edit file
routes/web.php
- Tambahkan baris kode berikut ke file web.php
Route::get('/generate', function(){
\Illuminate\Support\Facades\Artisan::call('storage:link'); echo 'ok';});
- Simpan perubahan. Selanjutnya akses route tersebut di browser. http://namadomainwebsiteanda.com/generate
- Jika berhasil akan muncul response ok.
- Buka file manager kembali, seharusnya folder storage di public sudah berhasil terbuat.
Cara Kedua — Symlink menggunakan terminal
Buka CPanel hosting Anda, masuk ke menu Terminal
Selanjutnya jalankan perintah berikut.
ln -s /path/to/laravel/storage/app/public /path/to/laravel/public/storage
Sesuaikan lokasi folder dengan lokasi projek di hosting Anda.
Sampai sini jika tidak ada pesan error, proses symlink sudah berhasil. Anda bisa cek menggunakan file manager, folder storage di public sudah berhasil dibuat.
Cara Ketiga — Menggunakan fitur Cron Job
Jika fitur symlink di disable dan tidak ada fitur terminal maka cara terakhir adalah menggunakan cron job.
Caranya adalah, pertama buka CPanel, lalu masuk ke menu Cron Jobs.
Di bagian Common Settings pilih Once Per Minute (* * * * * *), lalu isi field Command dengan perintah seperti di cara kedua.
ln -s /path/to/laravel/storage/app/public /path/to/laravel/public/storage
Sesuaikan lokasi folder dengan lokasi projek di hosting Anda.
Selanjutnya klik tombol Add New Cron Job.
Untuk memastikan cron job sudah menjalankan perintah symlink, buka file manager di Cpanel, masuk ke folder public laravel.
Tunggu 1–2 menit jika masih belum ada, seharusnya symlink folder storage sudah berhasil dibuat.
Karena untuk menjalankan symlink cukup sekali, setelah berhasil hapus cron job yang sudah dibuat tadi.
Selesai.
Kesimpulan
Tiga cara diatas sesuaikan dengan hosting provider yang Anda pakai.
- Cara Pertama : Jika fungsi symlink() tidak di disabled
- Cara Kedua: jika fitur terminal tersedia
- Cara Ketiga: Jika kedua cara diatas tidak bisa, maka gunakan cara ini.
Jika ada kendala, kritik, saran ataupun koreksi silahkan tinggalkan komentar. Semoga bermanfaat :)
Artikel Terkait:
- Upload Laravel ke Hosting tanpa ribet tanpa ubah struktur folder