Codeigniter 4 Blank Page di Live Server atau Hosting - Rumah IT

Baru

recent

Codeigniter 4 Blank Page di Live Server atau Hosting

Codeigniter 4 Blank Page di Live Server atau Hosting

Kemarin saya baru saja upload website punya client yang dibangun menggunakan framework Codeigniter 4. Untuk servernya menggunakan cloud VPS dan bukan shared hosting. Setelah source code di upload dan melakukan konfigurasi dasar seperti koneksi database, base url dan lain-lain, alhasil saya menemukan masalah blank page saat mengakses URL website.


Sayangnya tidak ada pesan error yang ditampilkan meskipun sudah saya ubah environment-nya ke development. Hal yang sama juga pada file log codeigniter yang berada di folder writable. Tidak ditemukan pesan error sama sekali disana. Untuk server sendiri saya sudah memastikan sudah memenuhi system requirement codeigniter 4.

Saya fikir permasalahannya ada di source code saya. Tetapi ketika mencoba untuk instal codeigniter 4 menggunakan fresh instal dari website resmi, masalah tetap terjadi yaitu blank page saat tampilan awal dengan tidak menampilkan pesan error sama sekali. Saya menduga ada masalah dengan server VPS saya.

Untuk memastikan hasil hipotesa saya benar, saya mencoba untuk instal di share hosting yang saya punya dengan source code yang sama persis. Hasilnya website berjalan dengan normal dan tidak lagi blank page.

Selanjutkan saya kembali lagi ke server VPS yang bermasalah tadi. Saya coba untuk melakukan self troubleshooting dengan membaca thread di beberapa forum komunitas codeigniter. Ternyata yang mengalami masalah ini tidak hanya saya saja. Sebelumnya sudah ada menanyakan masalah ini di forum CI.

Oke gan, langsung saja dibawah saya jabarkan hasil dari pengamatan saya di beberapa thread forum untuk masalah blank page codeigniter di live server. Setidaknya saya menangkap 2 cara untuk menyelesaikan kasus ini.


1. Disable zlib.output_compression extention di PHP

Ekstensi zlib menawarkan opsi untuk mengompres halaman Anda secara transparan saat bepergian, jika browser yang meminta mendukungnya. Oleh karena itu ada tiga pilihan pada file konfigurasi php.ini . Untuk menonaktifkan ekstensi ini, buka file php.ini kemudian cari baris zlib.output_compression , setting menjadi Off sehingga akan menjadi zlib.output_compression=Off . Setelah itu restart service apache .

Saya berhasil menggunakan cara pertama, dan saat ini website sudah kembali berjalan normal. Namun jika anda tidak mau ribet dengan mengubah pengaturan file PHP, cara yang kedua bisa menjadi pilihan. Cara kedua hanya merubah beberapa kode bawaan codeigniter 4.


2. Edit file Events.php di app/Config

Buka file app/Config/Events.php , hapus pada baris 25 sampai 32.

while (\ob_get_level() > 0)
    {
        \ob_end_flush();
    }

    \ob_start(function ($buffer) {
        return $buffer;
    });

3. Edit file Events.php di system/Events

Cara ketiga dilakukan jika pada cara kedua tidak berhasil. Buka file system/Events/Events.php 
pada baris 188 ubah kode berikut :
$result = static::$simulate === false ? call_user_func($listener, ...$arguments) : true;
Menjadi :
if($eventName == 'pre_system' && empty($arguments)){
  $result = true;
}else{
  $result = static::$simulate === false ? call_user_func($listener, ...$arguments) : true;
} 

Saat menampilkan halaman kosong, saya pikir itu ada hubungannya dengan output_compression pada php, jika disetel ke Aktif, saya mendapatkan header yang sudah mengirim kesalahan dan halaman kosong . jika diatur ke Off, semua berfungsi dengan baik. 
All Rights Reserved by Rumah IT - Rumah Teknologi Informasi © 2013 - 2022
Powered By Blogger

Contact Form

Name

Email *

Message *

Powered by Blogger.