SORU
7 EKİM 2012, Pazar


Referans - bu hata PHP Ne anlama geliyor?

Bu nedir?

Bu uyarılar, hatalar ve PHP programlama sırasında karşılaştıkları ve tamir için nasıl hiçbir ipucu olabilir bildirimler hakkında cevaplar. Bu da bir Topluluk Wiki, herkesin üzerinde ekleme ve bu listeyi bakımı katılmaya davet etti.

Neden bu?

"Headers already sent" "Calling a member of a non-object" gibi soruları sık sık Yığın Taşması açılır. Bu soruların temel nedeni her zaman aynıdır. Yani bu soruların cevapları genellikle bunları tekrar ve daha sonra da özellikle onun durumunu değiştirmek için hangi OP gösterir. Bu cevaplar sadece OP için belirli bir kodu uygulamak için bu siteye herhangi bir değer katmayan. Aynı hata sahip diğer kullanıcılar kolayca çok lokalize oldukları için bunun dışında bir çözüm okuyamaz. Bir kez kök neden, hata önemsiz olduğunu tespit anladığını, çünkü üzücü. Dolayısıyla, bu listeyi uygulamak için genel bir çözüm açıklamaya çalışır.

Burada ne yapmalıyım?

Eğer bu soru bir kopyası olarak işaretlenmiş, lütfen hata mesajını aşağıda bulun ve kod için düzeltmeyi uygulayın. Cevaplar genelde diğer bağlantılar genel cevabı tek başına açık olması gerekmez mi diye araştırmak için içerir.

İsterseniz katkıda lütfen Ekle senin "favori" hata mesajı, uyarı veya dikkat edin, tek başına cevap, kısa bir açıklama ne demek (bile sadece vurgulama açısından kendi kılavuz sayfası), olası bir çözüm ya da hata ayıklama yaklaşımı ve bir liste mevcut Q&A olan değeri. Ayrıca, mevcut herhangi bir cevap geliştirmek için çekinmeyin.

Liste

Ayrıca Bkz

CEVAP
7 EKİM 2012, Pazar


Uyarı: başlık bilgileri değiştirmek Olamaz - başlıklar zaten gönderildi

Komut istemci bir HTTP Başlığı göndermek için çalıştığında olur ama orada zaten istemciye gönderilecek başlıkları sonuçlanan çıktı önce.

Bu E_WARNING ve script durmayacak.

Tipik bir örnek, bir şablon dosyası böyle olacak:

<html>
    <?php session_start(); ?>
    <head><title>My Page</title>
</html>
...

session_start() işlevi istemci için bir oturum tanımlama ile başlıkları göndermek için çalışacağız. Ama PHP zaten çıkış akışı <html> elemanı yazarken başlıklar gönderdi. Üst session_start() hareket olurdu.

Çizgilerin üzerinden giderek bu sorunu çözebilirsinizöncekod çıkışları nerede Uyarı tetikleme ve kontrol edin. Bu kodu daha önce herhangi bir başlık gönderme kodu taşıyın.

Genellikle gözden kaçan bir çıkış PHP ?> kapattıktan sonra yeni bir satır. Dosyayı son şey olduğunda ?> atlamak için standart bir uygulama olarak kabul edilir. Aynı şekilde, bir başka nedeni de bu uyarı ne zaman açılması <?php bir boşluk, çizgi, ya da görünmez karakter, neden web sunucunuza gönderin başlıkları ve boşluk/yeni satır böylece PHP başlar ayrıştırma mümkün olmayacaktır gönder herhangi bir başlık.

Eğer dosya içinde birden fazla <?php ... ?> kod bloğu varsa, aralarında herhangi bir boşluk olmamalıdır. (Not: Eğer otomatik olarak inşa edildiğini kodu) varsa birden fazla blok olabilir

Ayrıca emin olun script kodlama BOM ile UTF-8 olduğunda örneğin kodunuzda herhangi bir Bayt Sırası İşareti yok.

İlgili Sorular:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Call Me Howard

    Call Me Howa

    18 AĞUSTOS 2012
  • Easy Learn Tutorial

    Easy Learn T

    10 Kasım 2012
  • Erica Griffin

    Erica Griffi

    8 HAZİRAN 2009