Setelah belajar semua fitur CodeIgniter 3, dari CRUD, template, session, upload file, hingga dashboard, tahap penting berikutnya adalah menjalankan aplikasi di server produksi.
Banyak pemula mengalami masalah saat deploy CI3, mulai dari error 404, session tidak bekerja, hingga masalah folder permission.
Pada BAB ini, kita akan membahas:
- Masalah umum CI3 di server produksi
- Penyebabnya
- Tips & solusi agar aplikasi berjalan lancar
Contents
Tujuan Pembelajaran
Setelah menyelesaikan BAB 17, Anda akan mampu:
- Mengenali masalah umum CI3 di server produksi
- Mengetahui penyebab error
- Menerapkan solusi cepat dan aman
- Menyiapkan server agar aplikasi stabil
17.1 Masalah Umum & Solusinya
1. Error 404 / Halaman Tidak Ditemukan
Penyebab:
.htaccesstidak bekerjamod_rewriteApache belum aktifindex.phpmasih terlihat di URL, tapi config salah
Solusi:
- Pastikan
.htaccessada di root proyek:
RewriteEngine On
RewriteBase /nama_folder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
- Aktifkan
mod_rewritedi Apache:
sudo a2enmod rewrite
sudo service apache2 restart
- Atur
config.php:
$config['base_url'] = 'https://www.domainanda.com/';
$config['index_page'] = '';
2. Masalah Session Tidak Berfungsi
Penyebab:
- Session file tidak bisa ditulis (folder
application/cachepermission salah) sess_save_pathtidak diatur
Solusi:
- Atur permission folder
writable(CI3 menggunakanapplication/cacheatauwritable/session):
chmod 755 application/cache
- Atur session path di
config.php:
$config['sess_save_path'] = APPPATH.'cache';
3. Upload File / Gambar Gagal
Penyebab:
- Folder
uploadstidak writable - Tipe file tidak sesuai konfigurasi
Solusi:
- Atur permission folder upload:
chmod 755 uploads/
- Pastikan
allowed_typesdi controller sesuai file yang diupload
4. URL atau Link Asset Tidak Berfungsi
Penyebab:
base_url()salah- File CSS, JS, atau gambar tidak bisa diakses
Solusi:
- Gunakan
<?= base_url('assets/css/style.css') ?> - Pastikan folder
assets/ada dan permission benar config['base_url']diatur ke domain produksi
5. Error “Allowed Memory Size” / Limit PHP
Penyebab:
- Data besar / query berat
- File upload besar
Solusi:
- Atur
php.ini:
memory_limit = 256M
upload_max_filesize = 10M
post_max_size = 10M
- Gunakan pagination untuk data besar
- Batasi ukuran file upload
6. Masalah HTTPS / Mixed Content
Penyebab:
- Server menggunakan HTTPS
- Resource masih dipanggil menggunakan HTTP
Solusi:
- Gunakan
base_url()otomatis menyesuaikan protokol:
$config['base_url'] = 'https://www.domainanda.com/';
- Atur
.htaccessredirect HTTP ke HTTPS
17.2 Tips Deploy CI3 Aman & Stabil
- Nonaktifkan Debugging di Production
$config['log_threshold'] = 1; // atau 0 - Gunakan
environmentProduction
Diindex.php:define('ENVIRONMENT', 'production'); - Pastikan Permission Folder Benar
application/cache→ writableuploads/→ writable
- Backup Database & File sebelum deploy
- Gunakan .htaccess untuk URL Bersih
- Cek Error Log Server jika terjadi masalah
- Amankan session dan CSRF
$config['csrf_protection'] = TRUE;
Penutup
Dengan BAB 17 ini, Anda sudah memahami:
- Masalah umum CI3 di server produksi
- Penyebabnya dan solusi cepat
- Tips deploy agar aplikasi stabil, aman, dan berjalan lancar
Mengikuti langkah-langkah ini akan menghindarkan aplikasi dari error 404, session tidak bekerja, upload gagal, atau masalah asset, sehingga siap digunakan oleh user akhir.