Apa yang bisa kami bantu?

A. Pendahuluan

CodeIgniter 4 adalah framework PHP yang modern dan ringan, cocok digunakan untuk membangun aplikasi web berbasis arsitektur MVC (Model-View-Controller). CodeIgniter 4 dapat di-install atau di-upload pada server VPS maupun hosting seperti cPanel.

Salah satu kendala yang sering ditemui adalah error 500 saat aplikasi CodeIgniter 4 diakses melalui hosting, meskipun berjalan normal di lingkungan lokal. Artikel ini membahas cara mengatasi error 500 pada CodeIgniter 4 di hosting cPanel.

Gambar 1. Website Error 500.

B. Penanganan

Sebelum memulai penanganan, aktifkan mode debugging terlebih dahulu dengan mengganti CI_ENVIRONMENT dari production menjadi development pada file .env. Langkah ini membantu mengidentifikasi sumber error secara lebih spesifik.

Gambar 2. Konfigurasi .env.

Setelah mode debugging aktif, lakukan penanganan berikut secara berurutan.

1. Pengecekkan Permission Folder dan File

Error 500 dapat terjadi akibat permission folder atau file yang tidak sesuai. Pastikan permission yang digunakan adalah:

  • Folder: 755
  • File: 644
Gambar 3. Permission Folder dan File.

2. Pengecekkan Konfigurasi .htaccess

Konfigurasi .htaccess yang tidak sesuai atau konflik dengan konfigurasi .htacces hosting juga dapat menyebabkan error 500. Gunakan konfigurasi .htaccess default CodeIgniter 4 berikut sebagai titik awal:

<IfModule mod_rewrite.c>
    Options -Indexes
    RewriteEngine On
    RewriteBase /
 
    # Ensure files and directories are accessible
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
 
    # Redirect all other requests to index.php
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

Jika aplikasi perlu diredirect ke folder public, gunakan konfigurasi berikut:

<IfModule mod_rewrite.c>
    # Matikan directory listing demi keamanan
    Options -Indexes
   
    RewriteEngine On
    RewriteBase /
 
    # 1. Arahkan semua request ke folder /public
    RewriteCond %{REQUEST_URI} !^/public/
    RewriteRule ^(.*)$ public/$1 [L]
 
    # 2. Standar CI4 Rewrite (menghilangkan index.php)
    # Jika file/folder tidak ada, arahkan ke index.php di dalam /public
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ public/index.php/$1 [L]
</IfModule>

3. Pengecekkan Versi PHP dan Ekstensi PHP

Pastikan versi PHP dan ekstensi yang digunakan memenuhi requirement CodeIgniter 4 berikut:

  • Minimum PHP 8.2
  • Ekstensi: intl, mbstring, mysqlnd, curl, imagick, gd, simplexml
Gambar 4. List Requirement CodeIgniter 4.

Requirement instalasi CodeIgniter 4 dapat juga dicek pada laman: https://codeigniter.com/user_guide/intro/requirements.html

4. Pengecekkan Struktur Path Folder

Error 500 juga dapat terjadi jika path folder tujuan tidak sesuai sehingga file tidak ditemukan. Jika isi folder public dipindahkan ke public_html (atau ke document root domain/subdomain), ubah baris berikut pada file index.php:

// Ubah dari:
$pathsConfig = FCPATH . '../app/Config/Paths.php';
// Menjadi:
$pathsConfig = FCPATH . 'app/Config/Paths.php';

C. Kesimpulan

Error 500 pada CodeIgniter 4 umumnya disebabkan oleh permission folder atau file yang tidak sesuai, konfigurasi .htaccess yang konflik, versi atau ekstensi PHP yang tidak memenuhi requirement, maupun path folder yang tidak tepat setelah proses upload ke server. Pastikan setiap poin di atas telah diperiksa dan disesuaikan dengan konfigurasi hosting yang digunakan.

Semoga artikel ini dapat membantu Anda. Temukan bantuan lainnya melalui Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silakan hubungi Support Biznet GIO melalui email support@biznetgio.com atau live chat maupun WA ke website www.biznetgio.com dan bisa juga melalui telepon ke nomor (021) 5714567.