Meng-upload CodeIgniter 4 ke hosting sedikit berbeda dari PHP native karena strukturnya memisahkan folder public. Artikel ini membahas cara upload CodeIgniter 4 ke hosting lewat cPanel dengan benar.
Tantangan Khusus CodeIgniter 4
Di CodeIgniter 4, hanya folder public yang seharusnya bisa diakses publik (berisi index.php). Folder lain (app, system, writable) harus tetap tersembunyi demi keamanan. Ada dua cara umum mengaturnya.
Cara 1: Isi public ke public_html (Paling Umum)
- Upload & extract semua file proyek ke folder di luar
public_html(misalnya/home/user/ci4). - Pindahkan isi folder
public(termasukindex.phpdan.htaccess) ke dalampublic_html. - Edit
index.phpdipublic_html, sesuaikan path ke folder proyek:
<?php $pathsPath = '../ci4/app/Config/Paths.php'; require FCPATH . '../ci4/vendor/autoload.php'; ?>
Sesuaikan '../ci4/' dengan lokasi folder proyek Anda.
Cara 2: Upload Semua lalu Arahkan Domain
Jika hosting mengizinkan, arahkan Document Root domain langsung ke folder public proyek Anda lewat pengaturan domain di cPanel. Ini cara paling bersih.
Langkah: Import Database
- Buat database di cPanel → MySQL Databases.
- Import file
.sqllewat phpMyAdmin.
Langkah: Konfigurasi .env
Ganti nama env menjadi .env, lalu atur mode produksi, baseURL, dan database:
CI_ENVIRONMENT = production app.baseURL = 'https://domainanda.com/' database.default.hostname = localhost database.default.database = namauser_db database.default.username = namauser_dbuser database.default.password = passwordnya database.default.DBDriver = MySQLi
Kesalahan Umum
- Whitelabel error / halaman putih — set
CI_ENVIRONMENT = productiondan cekwritable/logs. - Folder writable tidak bisa ditulis — atur permission folder
writableke 755/775. - Aset/CSS tidak muncul —
app.baseURLsalah; sesuaikan dengan domain. - Versi PHP hosting terlalu lama — CI4 butuh PHP 7.4+/8; ubah versi PHP di cPanel.
Kesimpulan
Kunci upload CodeIgniter 4 ke hosting adalah menempatkan isi folder public di public_html dan menyembunyikan folder inti demi keamanan, lalu menyesuaikan .env (baseURL & database). Setelah itu, aplikasi CI4 Anda siap diakses publik.
Referensi: untuk pendalaman, kunjungi dokumentasi resmi PHP (php.net).

