Message: strpos(): Non-string needles will be interpreted as strings in the future. Use an explicit chr() call to preserve the current behavior
Error ini sebenarnya bukan masalah besar, dan terjadi di Versi PHP 7.2 yang dijalankan di PHP 7.3 biasanya terjadi pada Framework Codeigniter 3 dengan Konsep HMVC (Hirarki Model View Controller)
Lalu Bagaimana Cara Mengatasinya?
Cukup mudah saja, karena masalah ini terjadi dikarenakan Sensitifitas pada PHP 7 dibagian variable $suffix, Berikut ini langkah-langkahnya :
- Open Folder Application - third_party - MX - Router.php
- find Code function set_class, biasanya terletak dipaling bawah. cara mudah menemukannya dengan cara menggunakan fitur pencarian pada Text Editor yaitu CRTL + F berikut ini contoh script yang akan diubah :
public function set_class($class)
{
$suffix = $this->config->item('controller_suffix');
if (strpos($class, $suffix) === FALSE) //kode lama dan error dari ci
{
$class .= $suffix;
}
parent::set_class($class);
}
- Ubah Code diatas menjadi seperti ini :
public function set_class($class) { $suffix = $this->config->item('controller_suffix'); if ( $suffix && strpos($class, $suffix) === FALSE) { $class .= $suffix; } parent::set_class($class); }
Silahkan kamu Refresh/ Jalankan Program kamu, dan Error diatas akan hilang, Semoga Artikel ini dapat membantu.