Linux Arch & Manjaro CodeIgniter Kurulumu

CodeIgniter kurulumunda GitHub üzerinden ya da resmi siteden son sürümü indirdiğinizde ve çalıştırdığınızda sizi bir Welcome ekranı karşılayacaktır. Bu ekranı gördüğünüzde sorunsuz çalıştığını varsayabilirsiniz; tabii bir Arch&Manjaro kullanıcısı değilseniz. Eğer ki sistem dili Türkçe olan Linux Arch ya da bir Manjaro kullanıcısı iseniz; muhtemelen CodeIgniter ya da ZN Framework çalışmayacaktır.  Bunun nedeni PHP’nin standart str fonksiyonlarının çalışmamasıdır. Konunun başlığını bu şekilde belirledim çünkü sorunun kaynağını bilen birisi zaten çözüme de rahatlıkla ulaşabilir. Önemli olan sorunun nereden kaynaklandığını bilemeyen arkadaşları konuya çekebilmek. Gerekli hata kodları etiket olarak dahil edilmiştir.

Şöyle anlatmak gerekirse $this-uri->segment(1) ve $this->input->get(‘q’) kodları hata verecektir. Burada dikkat ettiğiniz bir nokta var mı? Evet, bildiniz! Burada this anahtarı ile eriştiğimiz sınıf özelliklerinin ikisinde de i harfi bulunmakta. Peki, bununla ne ilgisi var? Öncelikle şurada bu konu ile ilgili açılmış bir bug report bulunmakta. Ona göz atmanızı rica ediyorum. Şimdi biraz daha oturdu gibi konu. Bir dizi içerisinde URI ya da INPUT anahtarı ilgili PHP fonksiyonlarınca küçültülmek istenilmektedir. Fakat bunu başaramaz ve bu anahtarlar bize urI ve Input olarak döner ve hata verir.

Olası Hata Çıktıları:

Message: Undefined property: Welcome::$uri

Message: Undefined property: Welcome::$input

Message: Call to a member function segment() on null

Yukarıdaki hatalardan normal zamanlarda bir çözüm yolu aransaydı $this->load->helper(‘uri’); satırını Controller dosyamıza dahil etmeyi düşünürdük. Bu tarz bir hatanın olabileceğini kimse düşünemezdi.

Çözüm Yolları:

Linux sistem dilinde bu tarz dönüşüm ve işlemlerin kontrol merkezinde CTYPE bulunmakta. Bizler, CTYPE‘ı en_US.UTF8  yaparsak bu sorun çözülecektir.

Bir diğer çözüm yolu ise en_US.UTF8  yüklü olmak koşulu ile; LC_CTYPE veya LC_ALL değerini değiştirerek de sorun çözülebiliyor.

Ek Olarak:

Çözümde benimle birlikte uğraş veren AnkaraPHP ekibine ve Eray Aydın’a teşekkürlerimi iletiyorum.

Kaynak:

  • https://wiki.archlinux.org/index.php/locale

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir