24 Eylül 2013 Salı

PHP session hatası

"Cannot send session cache limiter" hatası localhost üzerinde çalışırken (kısmen uzak sunucu üzerinde) çoğumuzun başına gelmiştir.

Öncelikle, BOM UTF-8 dil seçeneği uygulanmaya başladığında ortaya çıkmış ve sayfa dili kodlamasının UTF-8 olduğunu gösteren bir işarettir.

BOM işareti sayfanın en üstünde yer alan şöyle bir işaretlerden oluşur:  ï»¿.
PHP de session kullanıldığında sayfanın başında BOM işaretlerini algılar ve bu işaretlerden dolayı "Cannot send session cache limiter" hatası verir.

Bu hatanın birçok çeşidi var ve fakat ben çeşitleri üzerine değil nasıl çözeceğimiz üzerine yaptığımı yazacağım.

1) öncelikle kodlama ayarlarını düzenleyen bir metin editörü bulup indirmeniz gerekir, birçok ücretsiz metin editörleri bu ayarı kullanır. Ben Notepad++ kullanıyorum ve tavsiye ederim. İndirmek için URL (programı severseniz yardımda bulunmayı unutmayın)

2) hata veren uygulama sayfanızı Notepad++ üzerinde açın

3) kodlama menüsünden UTF-8 kodlama (BOM'suz) komutu verin ardından sayfanızı kaydedin
hepsi bu kadar.