Cumartesi, 12 Eylül 2009

CodeIgniter 1.7.2 Versiyonu Yayımlandı

 

CodeIgniter uzun süredir beklenen 1.7.2. versiyonlu yeni sürümünü 11 Eylül 2009 tarihinde yayımladı. 11 Şubat 2009 tarihinden bugüne kadar yeni sürümü geliştirilen CodeIgniter`in bu versiyonunda yapılan önemli değişiklikler şöyle sıralanmıştır:

  • PHP 5.3.0 versiyonuna uygun hale getirildi.
  • Cart isimli sınıf eklendi.
  • Form Helper daha iyileştirildi.
  • PHP versiyonlarının karşılaştırılmasını kolaylaştıran is_php() fonksiyonu eklendi.
  • show_error() fonksiyonu HTTP sunucu istemlerini de kapsayacak şekilde iyileştirildi.
  • Tespit edilen hatalar giderildi.

Yeni versiyonun dil dosyası 1.7.1. versiyonundaki ile aynı olduğundan Türkçe dil dosyası aynen geçerlidir. Bunun dışında eğer versiyonunuzu 1.7.2. versiyonuna yükseltmek isterseniz, kullanıcı kılavuzundaki uygun versiyon yükseltme linkini takip ederek yapabilirsiniz. Yükseltme yapmadan önce yedekleme yapmayı unutmayınız.

Yorumlar

Bilgilendirme için sağolun Fatih bey...

Heyecanla ne zaman yayinlayacaklar diye bekledigim bir versiyondu. Gerci cikmadan oncede bazi ozelliklerini kullanmaya baslamistim ama entegre bi sistem olmasi guzel oldu. Ozellikle cart sinifi uzerinde gelistirmeler yapip googlegroups da yayinlamak lazim. Belki gelistirmeler ile kendi CI shop uygulamamizi yazabiliriz. Hatta bunun icin bir ekip olusturmayida oneriyorum. İlgilenen arkadaslarla birlikte ortak bi calisma yapalim. Bilgi icin ayrica tesekkurler.

Nasıl update ediceğimi bulamadım yardımcı olurmusunuz

Merhabalar,
CI 1.7.2 güncellemesini yaptım ancak hatalı ya da bulunamayan sayfalarda (404) sıkıntı var. Aslında bu sıkıntı daha önce de vardı ancak koda müdahale ederek bunu çözmüştüm.
Benim sorunum; 404 hatası verecek ve olmayan bir sayfaya ulaşıldığı zaman ortaya çıkıyor. Olmayan sayfaya ulaştığım zaman hiçbir şekilde hata sayfasını alamıyordum. Firefox kendi iç hata sayfasını gösteriyordu. Google Chrome ise sonsuz bir bekleyiş içerisine giriyordu. CI 1.7.1 versiyonunda /applications/errors/error_404.php dosyasında ilk satırı, yani header satırını, kaldırdığım zaman hiçbir sıkıntı kalmıyordu.
Ancak bu 1.7.2 versiyonunda hata kodlamasını biraz değiştirmişler. Artık kontrolü /libraries/Exceptions.php dosyasında yapıyorlar. Bu dosyadaki "show_error" fonksiyonunun ilk satırı olan "set_status_header($status_code);" kodunu kaldırdığım zaman yine problem kalmıyor.
Şimdi uzun açıklamadan sonra soruma gelirsem :)
1. Exceptions içindeki bu satırı kaldırdığımda kod çalışıyor ama kodu kaldırmanın bir sakıncası olur mu? Çünkü set_status_header() fonksiyonunda sadece 404 hataları değil, tüm header bilgilerinin yer aldığını gördüm.
2. CI koduna müdahale etmeden makinamdaki sorunu nasıl çözebilirim? Belli ki makinadaki PHP kurulumu ile ilgili bir sıkıntı var ama ben çözemedim.
Lokal makinamda Windows Vista üzerinde PHP 5.2.9 versiyonlu Zend Server CE çalışmakta.
Teşekkürler

@faruk: Soruna burada cevap verdim.

@Ali Caner: Yeni versiyona geçişte application/error dizini altındaki error_404.php dosyasındaki <php header("HTTP/1.1 404 Not Found"); > cümlesini kaldırın. Sorun devam ediyorsa PHP kurulumunuzdaki sorunu tespit etmeye çalışabilirsiniz. Sanırım $_SERVER['SERVER_PROTOCOL'] değerinin düzgün gelip gelmediğini kontrol edin.

CodeIgniter çekirdek dosyalarına bir müdahale yolu da application/libraries dizini altına MY_Exception.php dosyası ile kendi yazdığınız Exception dosyanızı koymanızdır. Ama set_status_header satırını kaldırmanızı tavsiye etmem. Sizin de fark ettiğiniz gibi orada diğer hatalara ait geri dönüşler var. PHP kurulumunuz üzerine biraz daha yoğunlaşın bence.

@Fatih Cevap için teşekkürler. "application/error/error_404.php" dosyasındaki header bilgisini kaldırmıştım. Yani 1.7.1 versiyonundan 1.7.2 versiyonuna güncellemede hiç sıkıntı yok. Sıkıntı kendi makinamdaki PHP ayarlarıyla ilgili sanırım.
Boş bir PHP dosyasında sadece header("HTTP/1.1 404 Not Found", TRUE); yazdığımda ilk mesajımda belirttiğim gibi düzgün bir sonuç alamıyorum, ki bu kod CI içinde var olan bir kod. CI içinde olup da bende çalışmadığı için kendi makinamdaki kurulumdan şüpheleniyorum.
Makinada bir de portable XAMPP kurulumu var. Oradan baktığım zaman header 404 yönlendirmesinde herhangi bir sorun olmadığını görüyorum. Bu konularda çok fazla bilgim olmadığı için sorunu nasıl çözebileceğimi de tam bilemiyorum. Konunun CI ile alakası yok tabi, ama bu sorunu çözebilirsem çok mutlu olacağım.
Bu arada Faruk'un sorusuna verdiğiniz cevabın linkinde hata var, uyarmak istedim.
Teşekkürler.

@Ali Caner: Log dosylarını kontrol etmelisin. Belki orada hataya ilişkin bir uyarı mesajı bulunabilir. Aslında bu tür sorunların için google groups u kullanırsan daha hızlı sonuç alabilirsin.

Yorum Ekle