Codeigniter 2 sürümünü Php 7 versiyonundaki hataları giderme ve çalıştırma

Merhaba arkadaşlar, Bu yazımda Codeigniter kullanıpta eski sürümlerinde çalışanlar için php7 versiyonunda ki hataların nasıl çözüleceğini ve codeigniter 2 ile son php versiyonlarında nasıl çalıştırabileceğimize değindim. Umarım bu hatalarla karşılaşan arkadaşlara faydalı olmuştur.

İlk önc hangi codeigniter sürümü yüklü ona bakalım.

echo CI_VERSION; (Bende 2.1.3 yüklüymüş)

kodu ile codeigniter versiyonunu öğrenelim. Sonra sunucuda veya localdeki serverımızın hangi versiyon olduğunu öğrenelim.

phpinfo(); (bende PHP Version 7.3.20 kuruluymuş)

Şimdi sırasıyla Codeigniter da değişiklere başlıyoruz.

Not: PHP7 ile birlikte gelen tüm PHP araçlarını ve kitaplıklarını kurduğunuzdan emin olun

1) Veritabanı sürücünüzü mysql'den mysqli'ye (application / config / config.php) değiştirin.

Örn: 

//$db['default']['dbdriver'] = 'mysql'; <- eski hali
$db['default']['dbdriver'] = 'mysqli'; <-  yeni hali

2) /System/core/Common.php ve loader hatasını @işareti ile düzeltin veya bazılarının tercih ettiği gibi daha yeni bir sürüme yükseltin.

Örn: @$this->_base_classes =& is_loaded();

Bence 2.2.6 codeigniter versiyonunu indirip system klasörünü projenizdeki ile değiştirin. Bu daha iyi bir çözüm olacaktır.

3) Eğer Manuel veri tabanı sorguları çekiyorsanız mysql_query olarak mysql bağlantı ve sorgularını mysqlli ye çevirmelisiniz

Örn:
// Eski Versiyon

mysql_connect(DB_LOCAL,DB_USER,DB_PASSWORD) or die("MySQL Veritabani sunucusuna baglanti kurulamadi");
mysql_select_db(DB_DATABASE)or die("veritabani secilemedi");
        
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION='utf8_turkish_ci'");
 
*/Yeni Versiyon
$con = mysqli_connect(DB_LOCAL,DB_USER,DB_PASSWORD, DB_DATABASE) or die("MySQL Veritabani sunucusuna baglanti kurulamadi");
mysqli_select_db($con, DB_DATABASE)or die("veritabani secilemedi");
   
       
mysqli_query("SET NAMES utf8");
mysqli_query("SET CHARACTER SET utf8");
mysqli_query("SET COLLATION_CONNECTION='utf8_turkish_ci'");
 
V2.1.3'ün çok eski olduğunu düşünürsek, sadece birkaç değişiklikle PHP7 ile çalıştığına şaşırdım.
 
Yine benim karşılaştığım veya sizlerin karşılaştığı hataları burada sizlerle paylaşmaya çalışacağım. şimdiden kolay gelsin arkadaşlar

Görüş Hata Bildir

Güvenlik Kodunuz:

Yorum Yap

Yorum kodunuz:

DMCA.com Protection Status
0.0567