pesan error strpos() kurang lebih seperti dibawah ini :
Message: strpos(): Non-string needles will be interpreted as strings in the future. Use an explicit chr() call to preserve the current behavior
Berikut langkah-langkahnya untuk memeperbaiki error strpos() jika kalian punya masalah yang sama dengan punya saya :
1. Buka file Application/third_party/MX/Router.php
2. Kemudian di baris 239 terdapat blok kode seperti di bawah ini :
public function set_class($class)
{
$suffix = $this->config->item('controller_suffix');
if( strpos($class, $suffix) === FALSE ) //sebelum
{
$class .= $suffix;
}
parent::set_class($class);
}Didalam fungsi tersebut terdapat logika untuk mengecek ada tidaknya $suffix di dalam variable $class, di versi php sebelumnya strpos ini masih tidak menyebabkan error, tetapi mulai dari php versi 7.3 sepertinya php lebih strict dan mengeluarkan pesan error untuk penggunaan strpos() ini.
3. Untuk mengatasinya ubah baris kode diatas menjadi seperti dibawah ini :
public function set_class($class)
{
$suffix = $this->config->item('controller_suffix');
if( $suffix && strpos($class, $suffix) === FALSE) //sesudah
{
$class .= $suffix;
}
parent::set_class($class);
}

