php start_session () için localhost çalışmıyor

3 Cevap php

Ben sadece bu. Php dosyayı yapmaya başladı ve ben onun bu uyarıyı atma nedeni anlamaya cant

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Program Files\xampplite\htdocs\projectchest\controlpanel\index.php:1) in C:\Program Files\xampplite\htdocs\projectchest\controlpanel\index.php on line 2

İşte benim php.

<?php
    session_start();
    require_once('../classes/users/BaseUser.php');
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   ...
</html>

Ve burada benim php.ini dosyasına erişim

pastebin dot com / f60d22891 üzgünüm bazı spam saçma çünkü iki bağlantıları sonrası olamaz

i also found this thread suggested that my permission settings are messed up. i tried this...no luck http://stackoverflow.com/questions/670595/php-sessionstart-fails

3 Cevap

PHP oturumları bir cookie (to transmit the session_id) dayanmaktadır.

Çerezler HTTP başlıkları olarak gönderilir.

Çıkış yok zaten gönderilmiş ise HTTP başlıklarını yalnızca gönderilebilir.

Eğer alıyorsanız hata iletisi bazı çıktı zaten göndermiş olduğu oturumun çerez gönderildiğinde edilemez olduğunu gösterir.


Which means you must be sure not to send any ouput (not even one white-space !) before calling session_start().


A couple of ideas :

  • emin açılış php etiketinden önce hiçbir boş satır yoktur olun
  • make sure your PHP script is not encoded in UTF-8 with a BOM (some editor put that by default at the beginning of the files)
    • yani BOM olmadan, dosyanızı (as UTF-8, why not) yeniden kaydetmek


As a sidenote : you might get this error on some servers, and not on some others, because of the configuration of output_buffering : if it's on (it's Off in your php.ini file), PHP will keep some data in memory before sending them -- which means headers can be sent even if a small amount of data seems to have already been sent (In reality, that small amount of data is kept in memory, and not immediatly really sent).

Büyük olasılıkla bir karakter kodlama sorunu (kesin olarak UTF-8 BOM). Hiçbir BOM ile UTF-8 içine php kaynak dosya dönüştürme sahipsiniz. Hangi editörü kullanıyorsunuz?

Php.ini (see manual) çerezleri alışverişi ve en kısa sürede PHP HTTP başlıklarını gönderir gibi oturumu kurma ilgilenir hangi session.auto_start direktifi de vardır. Gibi özelleştirilebilir değil, ama en azından mesafe çözüm.