php Session hatası -Localhosta calısan serverda hata veren kod
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..
