Uyarı: Zaten PHP Sent Sessions İzin Verilmedi / Başlıkları

3 Cevap php

PHP bir acemi.

Ben aşağıdaki hataları alıyorum. Ben FF, IE ve Chrome benim bilgisayardan hata görüntülemek edemez, ama başka bir bilgisayarın tarayıcısından gezinirken henüz ben üst hatayı görüyorum.

Warning: session_start() [function.session-start]: open(/tmp/sess_c464nadk4jsn4u43mpqipkjbr7, O_RDWR) failed: Permission denied (13) in "file location" on line X

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at "file location":line X) in "file location" on line X

Herhangi bir fikir kimse?

Herhangi bir html önce gelir ve oturum tek değişkeni üzerinde taşımak için kullanılan hangi içerir önce () session_start var.

Ben daha önce yerleştirerek denedim

Header("Cache-control: private, no-cache");
Header("Pragma: no-cache");

ancak bu sadece daha fazla Uyarı işaretleri oluşturdu. Herhangi bir yardım mutluluk duyacağız!

3 Cevap

/ tmp / dir kullanıcı php olarak çalışan tarafından okunabilir veya yazılabilir değil gibi görünüyor.

"Zaten gönderildi başlıklar" hata ilk birinden kaynaklanır. Ayıklamak için çalışıyor burada diğer cevaplar size yardım edecek değildir. Ilk hatayı düzeltmek ve ikinci gidecek. İlk hata sorun zaten ne olduğunu size söyler - / tmp dizini web sunucusu tarafından yazılabilir değil. / Tmp genellikle 777 (rwxrwxrwx) 'dir.

İlk hata geçici dizinde eksik yazma izni göstermek gibi görünüyor ama aynı zamanda ikinci bir bağlantılı olabilir.

Otomatik olarak HTTP başlıklarını göndereceğiz çünkü, session_start() çağrı önce php komut gönderiliyor çıkış çeşit olduğunda normalde ikinci hata sadece olur. Bu fiilen aramadan önce veya <?php açmadan braket önce herhangi bir html tür veya dosyada bile boş satır veya boşluk olabilir. Shane bir yorum da anlaşılacağı gibi, ikinci hata nedeni çok iyi (/ tmp bir dosyaya oturumu yazamadığı için) ilk hatası hata iletisi başlıkları gönderilmesine neden olur ve böylece için çok geç olduğunu olabilir header() çağrısı ile gönderebilirsiniz.