...
0

Cara Mengatasi HTTP Error 500 Pada Laravel

RajaBackLink.com
cara-mengatasi-http-error-500-pada-laravel

Setelah mengunggah script laravel ke hosting, seringkali website akan error dengan pesan ‘HTTP error 500’. Tentunya, hal ini akan menyebabkan kebingungan bagi pembuat website, terlebih pada localhost website dapat berjalan dengan baik. Namun tidak perlu khawati, Anda menemukan artikel yang tepat untuk mengetahui cara mengatasi Laravel http error 500.

Namun, sebelum membahas tentang cara mengatasi laravel http error 500, terlebih dahulu kami akan menjelaskan tentang pengertian http error 500 hingga penyebabnya, agar Anda lebih memahami artikel yang kami buat. Simak informasi berikut ini.

Pengertian HTTP Error 500

contoh HTTP Error 500 Pada Laravel

Status http error 500 atau Internal server error 500 terjadi ketika server mengalami masalah internal, sehingga tidak dapat memproses permintaan Anda dengan baik. Pesan error ini juga menyatakan bahwa ada kesalahan konfigurasi pada akun hosting atau file website yang Anda akses.

Sederhananya, ini seperti ketika Anda mencoba menelepon seseorang, namun telepon yang dituju mengalami gangguan. Pada akhirnya, panggilan Anda tidak tersambung.

Pada umumnya, error ini berkaitan dengan konfigurasi pada website Anda. Seperti kesalahan konfigurasi file .htaccess, belum menyesuaikan versi php, hingga terjadi error pada script yang Anda upload. Pada framework laravel, error ini dipengaruhi oleh banyak faktor.

Penyebab Laravel Error 500

Ada beberapa faktor yang menyebabkan http error 500 pada Laravel, berikut diantaranya:

Pindah Hosting ke Rumahweb Gratis

1. Directory masih belum sesuai

Framework Laravel menggunakan konsep MVC, dimana konsep penyusunan script berbeda dengan script php pada umumnya. Seringkali, http error 500 di Laravel disebabkan karena ketidaksesuaian antara folder pubic dengan file core Laravel.

Hal ini menyebabkan laravel tidak dapat dibaca oleh server, dan akhirnya menampilkan kode http error 500. Berkaitan dengan directory, berikut beberapa faktor yang menyebabkan laravel mengalami error 500.

1.1 Struktur directory

Laravel memisahkan bagian public dari aplikasi (seperti aset public dan titik masuk aplikasi) dengan bagian internal yang mencakup logika aplikasi, konfigurasi, dan sumber daya lainnya yang tidak seharusnya diakses secara langsung oleh pengguna.

Laravel mengikuti prinsip MVC (Model-View-Controller) dan memiliki struktur direktori yang tertata dengan baik, untuk memudahkan pengembangan dan pemeliharaan aplikasi. Berikut adalah struktur direktori dasar dari aplikasi Laravel:

  • app: Berisi kode aplikasi, seperti model, controller, dan middleware.
  • bootstrap: Berisi file yang digunakan untuk bootstrap aplikasi.
  • config: Berisi file konfigurasi aplikasi.
  • database: Berisi migrasi, seeder, dan file database.
  • public: Berisi aset publik seperti gambar, CSS, JavaScript, dan file entry point aplikasi (index.php).
  • resources: Berisi view dan aset mentah.
  • routes: Berisi file definisi route.
  • storage: Berisi log aplikasi dan file yang di-cache.
  • vendor: Berisi dependensi yang diinstal oleh Composer.

1.2 Keamanan

Struktur direktori laravel didesain untuk menjaga keamanan aplikasi. Direktori public adalah satu-satunya direktori yang harus dapat diakses oleh web server secara langsung.

Direktori lainnya seperti app, config, database, resources, dan storage mengandung file sensitif yang tidak boleh diakses oleh pengguna umum. Menempatkan seluruh aplikasi di public_html dapat membuka celah keamanan karena file-file ini dapat diakses secara langsung oleh pengguna.

1.3 Akses file

Web server (seperti Apache atau Nginx) harus dikonfigurasi untuk hanya mengakses direktori public. File index.php yang berada di dalam direktori public bertindak sebagai entry point untuk semua permintaan web, dan ini mengarahkan semua permintaan ke controller yang sesuai dalam aplikasi Laravel. Dengan cara ini, file internal lainnya tetap aman dari akses langsung.

2. Kesalahan pada file .htaccess

Kesalahan dalam sintaks .htaccess adalah salah satu faktor penyebab dari error 500.  File .htaccess digunakan untuk mengatur routing dan konfigurasi web server untuk aplikasi laravel, sehingga jika terdapat kesalahan pada file ini, laravel tidak akan dapat diakses dengan benar dan biasanya akan menampilkan Internal Server Error.

3. Permission file dan folder tidak tepat

Izin atau permission file merupakan salah satu kesalahan umum yang sering ditemukan setelah upload laravel pada hosting. Dalam sistem operasi Linux, setiap file atau direktori mempunyai privilege tertentu untuk menentukan siapa yang bisa memeproses atau mengaksesnya.

4. Kesalahan setting database

Salah satu yang menyebabkan http error 500 pada laravel adalah kesalahan konfigurasi database, service database offline, atau user lupa mengupload database ke hosting.

Ketika script Laravel berinteraksi dengan query database namun mengalami kegagalan, maka server tidak dapat memproses permintaan dari Anda. Secara otomatis, server akan mengembalikan respons ke browser anda dengan pesan kesalahan koneksi database atau pesan http error.

Karena banyak faktor yang dapat menyebabkan http error 500, maka ada beberapa hal yang perlu Anda cek untuk mengetahui penyebab dan problem solvingnya. Namun secara umum, berikut beberapa cara yang dapat Anda lakukan untuk mengatasi http error di Laravel.

1. Menyesuaikan konfigurasi file dan folder

Bagi Anda yang baru saja mengupload file Laravel ke hosting, Anda bisa menyesuaikan konfigurasi file dan folder Laravel dengan mengikuti panduan berikut:

Bagi Anda yang menggunakan frontend VueJS, ReactJS atau Mix, Anda bisa mengikuti panduan berikut: Cara Upload Laravel dengan Frontend ReactJS atau VueJS

2. Menyesuaikan file .htaccess

Sebagai pengatur routing dalam laravel, Anda harus memastikan file .htaccess berada pada directory yang benar. File .htaccess dalam aplikasi Laravel harus berada di dalam direktori root domainnya. Dalam konteks domain utama, file .htaccess harusnya ada di folder /public_html. Sedangkan untuk subdomain, harus terdapat file .htaccess pada directory root subdomainnya.

Lalu, jika sudah dipastikan penempatan directory .htaccess benar, perhatikan script pada file .htaccess, apakah sudah mengarah atau menunjukkan routing yang benar. Anda juga dapat menyesuaikan script .htaccess dengan script default berikut:

          Options -MultiViews           RewriteEngine On      # Handle Authorization Header     RewriteCond %{HTTP:Authorization} .     RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]      # Redirect Trailing Slashes If Not A Folder...     RewriteCond %{REQUEST_FILENAME} !-d     RewriteRule ^(.*)/$ /$1 [L,R=301]      # Handle Front Controller...     RewriteCond %{REQUEST_FILENAME} !-d     RewriteCond %{REQUEST_FILENAME} !-f     RewriteRule ^ index.php [L] 

3. Melakukan pengecek log error

Untuk mengatasi error 500 pada Laravel, anda dapat membaca error log dengan mengikuti panduan berikut:

3.1 Periksa Log Laravel

Log Laravel biasanya terletak di storage/logs/laravel.log. Buka file ini untuk mencari pesan kesalahan yang lebih spesifik.

3.2 Aktifkan mode Debugging

Apabila tidak ada informasi yang Anda cari pada laravel.log, Anda dapat mengaktifkan mode debug di laravel agar browser menampilkan error secara langsung. Anda dapat mengaktifkan mode debugging di Laravel pada file .env, yaitu dengan mengubah status debug false menjadi true.

APP_DEBUG=true

Pengaturan ini akan menampilkan pesan kesalahan yang lebih rinci di browser saat error 500 terjadi.

4. Menyesuaikan permission file dan folder

Seperti yang telah kami bahas pada CHMOD, salah satu penyebab website mengalami error 500 adalah kesalahan pengaturan permission file dan folder. Pada framework laravel, umumnya file menggunakan permission 0644 dan folder menggunakan permission 0755.

Pengecekan ini dapat dilakukan melalui file manager di cPanel. Lakukan analisa terkait permission folder dan file Laravel Anda. Anda bisa mengubah permission file atau folder di cPanel dengan cara klik bagian permission pada folder atau file yang akan Anda ubah, lalu sesuaikan permissionnya.

Untuk mengubah secara cepat dan banyak, Anda bisa menggunakan perintah berikut melalui SSH atau Terminal:

Untuk mengubah permission pada folder

find . -type d -exec chmod 755 {} ;

Untuk mengubah permission pada file

find . -type f -exec chmod 644 {} ;

Perintah diatas digunakan untuk mengubah seluruh folder menjadi 0755 dan mengubah permission file menjadi 0644. Sebelum menjalankan perintah diatas, pastikan Anda telah masuk di directory yang ingin anda ubah di SSH.

5. Memperbaiki setting koneksi database

Setting koneksi database dapat dilakukan melalui file .env yang terletak pada folder application laravel Anda. Berikut langkah-langkahnya:

5.1 Periksa File .env

Pastikan bahwa pengaturan database di file `.env` Anda sudah benar. Contoh pengaturannya adalah sebagai berikut:

DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=nama_database DB_USERNAME=nama_pengguna DB_PASSWORD=password_database

Sesuaikan nama database, nama pengguna dan password penggunanya. Selengkapnya tentang cara setting koneksi database di Laravel bisa Anda pelajari pada artikel berikut.

5.2 Periksa Konfigurasi Database di Config

Pastikan juga bahwa file konfigurasi database di `config/database.php` sudah sesuai. Contoh pengaturan untuk MySQL:

'mysql' => [        'driver' => 'mysql',        'host' => env('DB_HOST', 'localhost'),        'port' => env('DB_PORT', '3306'),        'database' => env('DB_DATABASE', 'forge'),        'username' => env('DB_USERNAME', 'forge'),        'password' => env('DB_PASSWORD', ''),        'unix_socket' => env('DB_SOCKET', ''),        'charset' => 'utf8mb4',        'collation' => 'utf8mb4_unicode_ci',        'prefix' => '',        'strict' => true,        'engine' => null,    ]

6. Cek Versi Laravel dan PHP

Salah satu penyebab umum terjadinya http error 500 di laravel adalah ketidaksesuaian versi php yang digunakan pada hosting, dengan versi laravel yang digunakan. Untuk menyesuaikan versi php di Hosting, dapat dilakukan melalui menu Multiphp Manager atau Select PHP Version.

Panduan cara mengubah versi php di hosting bisa Anda pelajari pada artikel berikut: cara mengubah versi php di cPanel

Apabila semua cara sudah Anda coba dan tetap tidak menemukan penyelesaiannya, Anda bisa menggunakan channel ‘trouble ticket’ yang ada di Clientzone Rumahweb, untuk bantuan pengecekan secara lebih lanjut.

Demikian artikel kami tentang cara mengatasi http error 500 pada Laravel, semoga bermanfaat.

Cloud Hosting Terbaik Rumahweb

Tags: Artikel dan Tutorial, http error 500, laravel, tutorial laravel
Artikel dan Tutorialhttp error 500laraveltutorial laravel
RajaBackLink.com
RajaBackLink.com

More Similar Posts

RajaBackLink.com