Galibarda

Veysel Bozdoğanoğlu

php Session hatası -Localhosta calısan serverda hata veren kod

without comments

Biraz uzunca bir başlık oldu ama, localhost ta çalışıp, serverda hata alınca buna benzer bişe yazmıştım google a.

Php nin vazgeçilmez oturum fonksiyonu session lar, sayfaya hiçbir çıktı almadan çalıştırılmalı

session_start();

Tabi oluşturduğumuz session değişkenlerini değiştireceksekde aynı durum geçerli.

Localhost ta çalışıpta serverda neden çalışmaz? Yani çözümü birazdan yazacam ama orda sorun olup local de olmaması ilginç.  Sanırım işletim sisteminin umursamazlığıyla ilgili bişe. :) Php Serverlar genelde Linux oluyor ve bizim local de yine genelde winows olunca, sanırım fark birazda burdan kaynaklanıyor..

Neyse gelelim çözüme. Her ne kadar kodları UTF-8 olarak kodlasakta, bazı derleyiciler sayfanın başına BOM (Byte Order Mark) işaretini ekliyor.

 ï»¿ 

 

Bu yüzden de server, session(oturum) başlamadan sayfanın başında bu işareti tarayıcıya gönderiyor ve sonuç.

Warning: session_start(): Cannot send session cookie – headers already sent by (output started at /hsphere/local/home/wwwuser/test/login.php:1) in

Çözüm ise Session başlamadan önce include yaa require ettiğimiz e diğer dosyalarda dahil, php dosyamızı utf-8 without boom yani boomsuz olarak yeniden kaydetmek..

UT8-Boomsuz

UT8-Boom

 

Written by waycell

Aralık 5th, 2011 at 9:38 pm

Posted in PHP

Leave a Reply