Membuat Halaman Maintenance di CodeIgniter
Maintenance mode atau mode pemeliharaan biasanya digunakan untuk menampilkan halaman khusus saat kita sedang melakukan pembaruan pada website, sehingga website tidak menampilkan pesan error atau lebih tepatnya agar terlihat lebih profesional saat sedang melakukan pembaruan.
CodeIgniter sendiri tidak menyediakan fitur maintenance mode, akan tetapi kita dapat membuatnya dengan berbagai cara salah satunya dengan memanfaatkan Hooks pada CodeIgniter.
Hooks pada CodeIgniter sendiri dapat kita gunakan untuk merubah settingan dasar pada codeigniter tanpa mengubah file inti.
Langkah pertama buka file config.php pada folder application/config lalu cari script $config['enable_hooks'] dan ubah menjadi TRUE.
$config['enable_hooks'] = TRUE;
Masih di file config.php tambahkan script berikut ini dibagian paling bawah.
/*
|--------------------------------------------------------------------------
| Maintenance Mode
|--------------------------------------------------------------------------
|
| For whatever reason sometimes a site needs to be taken offline.
| Set $config['maintenance_mode'] to TRUE if the site has to be offline
|
| $config['maintenance_mode'] = TRUE; // site is offline
| $config['maintenance_mode'] = FALSE; // site is online
*/
$config['maintenance_mode'] = TRUE;
Langkah kedua buka file hooks.php pada folder application/config dan tambahkan kode dibawah ini.
$hook['pre_system'][] = array(
'class' => 'maintenance_hook',
'function' => 'offline_check',
'filename' => 'maintenance_hook.php',
'filepath' => 'hooks'
);
Selanjutnya buat file baru pada folder application/hooks dengan nama maintenance_hook.php dan tambahkan script dibawah ini.
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Check whether the site is offline or not.
*
*/
class Maintenance_hook
{
public function __construct(){
log_message('debug','Accessing maintenance hook!');
}
public function offline_check(){
if(file_exists(APPPATH.'config/config.php')){
include(APPPATH.'config/config.php');
if(isset($config['maintenance_mode']) && $config['maintenance_mode'] === TRUE){
include(APPPATH.'views/maintenance.php');
exit;
}
}
}
}
Script diatas digunakan untuk mengecek apakah maintenance_mode pada file config.php bernilai TRUE. Jika benar maka website akan menampilkan halaman dari file maintenance yang ada pada folder views.
Langkah terakhir, buatlah sebuah file bernama maintenance.php pada folder application/views dan tambahkan script berikut ini.
<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Maintenance</title>
</head>
<body>
Website Under Maintenance
</body>
</html>
Untuk mengatur mode maintenance, kita buka file config.php yang ada di folder application/config dan ubah script $config['maintenance_mode'] = TRUE; untuk mode Maintenance dan $config['maintenance_mode'] = FALSE; untuk mode Online.
Mungkin cukup sekian tutorial tentang Cara Membuat Halaman Maintenance di CodeIgniter, jika bermanfaat silahkan share keteman-teman kalian supaya mereka tau apa yang kalian tau. Jika ada kesulitan silahkan tinggalkan komentar.
Baca Juga:
Gagas Sangga Pratama Minggu, 28 Juni 2020 6.858 View CodeIgniter
Notnot
Minggu, 28 Juni 2020Ka kalau website nya belum jadi tapi udh di pasang itu gpp kan
Gagas Sangga Pratama
Jumat, 10 Juli 2020Silahkan, semoga bermanfaat
Retno
Kamis, 24 Desember 2020Apakah dlm kondisi maintenance bisa diakses oleh admin? Klo tidak bagaimana caranya admin bisa akses ke website dlm kondisi maintenance ?
KencringNB
Minggu, 02 Mei 2021Nambahin swich nya gimana? udah jadi,, tapi males juga kalo mau true/false harus edit di file.
Gagas Sangga Pratama
Minggu, 02 Mei 2021Untuk case kak Retno tambahkan saja logicnya disesuaikan. Misal, mode maintenance tetap bisa diakses jika sudah melalukan login.
Gagas Sangga Pratama
Minggu, 02 Mei 2021Kalau mau ditambah switch button bisa tambahkan kondisi true false nya dimasukkan kedalam database.
KencringNB
Senin, 03 Mei 2021Aticle nya belum ada to mas. Barubelajar php soalnya
Gagas Sangga Pratama
Senin, 03 Mei 2021Betul mas, sayang sekali untuk tutorial itu belum saya buat. Next akan saya buatkan mas. Terimakasih