Ahmad Sanusi Official Let’s Talk
Ahmad Sanusi Official Website
  • Home
  • About
  • Project
  • Blog
  • Al Quran Digital
  • Al Quran Digital Lite
  • Contact

Mengatasi Error strpos() pada HMVC Codeigniter 3 di PHP 7.3

Mengatasi Error strpos() pada HMVC Codeigniter 3 di PHP 7.3
  • Administrator
    Written by

    Administrator

  • Category

    PHP

  • Date

    9 Juli 2021

Siang ini baru saja klien mengontak saya, ternyata websitenya down dikarenakan ada perubahan environtment di sisi servernya, terdapat beberapa error yang saya temui diantaranya error strpos() dan error only_full_group_by. Di projek ini saya menggunakan codeigniter 3 dan menggunakan konsep HMVC yang dikembangkan oleh Wiredesignz. saya mendapatkan 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

Setelah saya googling dan akhirnya saya menemukan jawaban di forum stackoverflow yang kasusnya sama seperti yang saya alami. dan ketika saya ikuti langkah-langkah yang diberikan Alhamdulillah untuk error strpos() sudah hilang dan berhasil saya atasi.

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);
	}

Apabila Anda sudah mengikuti langkah-langkah di atas dengan benar seharusnya error strpos sudah hilang, apabila masih terdapat error silahkan kontak saya melalui kolom chat atau melalui email.

Terimakasih sudah meluangkan waktu Anda untuk mengunjungi website saya, semoga bermanfaat.

Share:
Codeigniter
Blog

Popular post

Cara Mengatasi Error ONLY_FULL_GROUP_BY di Database MySQL
  • 8 Juli 2021

Cara Mengatasi Error ONLY_FULL_GROUP_BY di Database MySQL

Membuat Format Tanggal Hijriyah Bahasa Indonesia Dengan Librari PHP
  • 23 Agustus 2021

Membuat Format Tanggal Hijriyah Bahasa Indonesia Dengan Librari PHP

Cara Menghapus Cache Git
  • 18 November 2023

Cara Menghapus Cache Git

Tutorial Menginstall Codeigniter 3 dengan Composer
  • 10 Juli 2021

Tutorial Menginstall Codeigniter 3 dengan Composer

Le t’s work together

Based in Indonesia |

Looking for a hectic web developer?

[email protected]

Want a more in-depth look at my history?

-

©2025 Ahmad Sanusi Official Website, All Rights Reserved

Back to Top