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
- Nothing is seen. The page is empty and white. (de bilinirÖlüm Beyaz Sayfa/Ekran)
- Code doesn't run/what looks like parts of my PHP code are output
- Warning: Cannot modify header information - headers already sent
- *15.*k.bir.
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource.k.bir.
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given (veya benzeri varyasyonlar) - Warning: [function] expects parameter 1 to be resource, boolean given
- Warning: [function]: failed to open stream: [reason]
- Warning: open_basedir restriction in effect
- Warning: Division by zero
- Warning: Illegal string offset 'XXX'
- Parse error: syntax error, unexpected '['
- Parse error: syntax error, unexpected T_XXX
- Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE
- Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM
- Parse error: syntax error, unexpected T_VARIABLE
- Fatal error: Allowed memory size of XXX bytes exhausted (tried to allocate XXX bytes)
- Fatal error: Call to a member function ... on a non-object
- Fatal Error: Call to Undefined function XXX
- Fatal Error: Cannot redeclare XXX
- Fatal error: Can't use function return value in write context
- Fatal error: Declaration of AAA::BBB() must be compatible with that of CCC::BBB() '
- Fatal error: Using $this when not in object context
- Notice: Array to string conversion
- Notice: Trying to get property of non-object error
- Notice: Undefined variable
- Notice: Undefined Index
- Notice: Uninitialized string offset: X
- Notice: Use of undefined constant XXX - assumed 'XXX'
- MySQL: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ... at line ...
- Strict Standards: Non-static method [<class>::<method>] should not be called statically
Ayrıca Bkz
CEVAP
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:
Bu XML hata ne anlama geliyor: "Ö...
Bu hata ne anlama geliyor: "hata:...
Hata gösterir "stil için metin al...
Referans bu sembol, PHP Ne anlama geli...
Bu Google MUAYENE yayımlamak Oyun hata...