WordPress hata mesajları, sitenizde sorunlara neyin neden olduğu konusunda size bir fikir verir. "Cannot Modify Header Information – Headers Already Sent By" hatası istisna değildir. Bir PHP dosyası, kodundaki bir sorun nedeniyle yürütülemiyorsa, bu mesajla karşılaşırsınız.
Türkçe adıyla "Başlık bilgisi değiştirilemiyor" hatasının birkaç olası nedeni vardır. Neyse ki, mesajın kendisi size hangi dosyanın soruna neden olduğunu söyleyecektir. Hatta sorunu içeren kod satırına da işaret ediyor.
Bu yazıda, bu hatayı ve nedenlerini tartışacağız. Ardından, sorunu çözebileceğiniz iki yoldan bahsedeceğiz. Gelin birlikte inceleyelim!
Daha önce de belirttiğimiz gibi, sitenizin .php dosyalarından biri çalıştırılamadığında bu hatayla karşılaşacaksınız. WordPress, temel işlevleri için wp-config.php ve functions.php gibi .php dosyalarına güvenir.
Web sitenizin yüklemesi gereken .php dosyalarından birinde bir sorun varsa, şuna benzer bir hata mesajı göreceksiniz:
“Warning: Cannot modify header information - headers already sent by (output started at /home/public_html/wp-config.php:#) in /home/public_html/wp-includes/file-example.php on line 33”
Neyse ki, "Cannot Modify Header Information" hatası, sorun gidermeyi nispeten basit hale getiren birçok bilgi sağlar. Mesaj sizi iki dosyaya yönlendirecektir. Bunun ilki, ikincisinin yürütülmesini engelleyen sorunu içerir.
Hata mesajının sonunda “xx. satır” yazan bir bölüm göreceksiniz. Bu kısım soruna neden olan belirli kodun yerini gösterir. Genellikle, PHP kodundaki sorunu düzeltmek oldukça kolaydır. Hata mesajını tetikleyebilecek bazı yaygın nedenler şunlardır:
Bu tür hataları düzeltmek, PHP kodunu değiştirirken en azından bir nebze olsun dikkatlı olmanızı gerektirir. Yaptığınız herhangi bir yanlış işlem tüm kodunuzu geçersiz kılabilir. Yine de, sorunu tanımlamak için biraz daha fazla yardıma ihtiyacınız olabilir. Bu, özellikle sorun PHP header işlevinden önceki boşluklar veya ifadelerle ilgili değilse geçerlidir.
Cannot Modify Header Information hatasını gidermek için iki yöntem vardır. İlk yöntem, WordPress panosundan çıkmanızı gerektirmez. Ancak, panoya erişemiyorsanız veya WordPress kullanamıyorsanız, ikinci strateji FTP/SFTP kullanır. İlk sorun giderme yöntemiyle başlayalım.
“Cannot Modify Header Information – Headers Already Sent By” hatasıyla karşılaştığınızda yapmanız gereken ilk şey, soruna neden olan dosyayı açmaktır. Ardından, mesajın gösterdiği satırı bulun.
Örneğin, aşağıdaki hatayı görürseniz, bu, temanızın function.php dosyasının içine bakmanız gerektiği anlamına gelir:
“Warning: Cannot modify header information - headers already sent by (output started at /home/public_html/wp-content/themes/twentytwentyone/functions.php:#) in /home/public_html/wp-includes/file-example.php on line 1”
Bu çözümde, WordPress tema düzenleyicisini kullanarak sorunun kaynağına ulaşabilirsiniz. Erişmek için Görünüm > Tema Düzenleyici'ye tıklayın.
Erişmeniz gereken dosyayı seçmek için sağdaki menüyü kullanın.
Yakından bakarsanız,
İlk olarak web sitenize bağlanmak için FTP veya SFTP istemcinizi kullanın. Bu kısımda sitenin kök klasörünü bulmanız gerekecek. Genellikle adı root, public_html, public veya kendi sitenizin adı olmalıdır.
İşte bir WordPress kök klasörünün içinin nasıl göründüğüne hızlı bir bakış atalım:
Şimdi Cannot Modify Header Information – Headers Already Sent By hatasınıa sebep olan dosyayı bulun. Örneğin, sorun public/wp-config.php ise dosyaya sağ tıklayın ve Görüntüle/Düzenle seçeneğini seçin.
Bu seçenek, varsayılan metin düzenleyicinizi kullanarak seçilen dosyayı açacaktır. Belge açıldığında, hata mesajının sizi gösterdiği satıra giderek sorunu bulun.
Hatayı bulamıyorsanız, PHP dosyalarıyla çalışma deneyimi olan birine danışmanız gerekebilir. Ancak, PHP başlığından önce bir boşluk sorunu veya bir ifade ile uğraştığınızı varsayalım. Bu durumda, sorunu kendiniz çözebilmelisiniz.
İşiniz bittiğinde, değişiklikleri dosyaya kaydedin ve FTP/SFTP istemcisini kapatın. Web sitenize yeniden erişmeyi deneyin; hata gitmiş olmalıdır.
Özet
Cannot Modify Header Information – Headers Already Sent By hatası, uzun bir mesaj verdiği için göz korkutucu olabilir. Ancak, bu ayrıntılı hata mesajı, bu hatayı gidermek için nispeten basit hale getirir. Diğer sorunlardan farklı olarak, bu sorun, hangi dosyanın buna neden olduğunu ve hangi kod satırına bakmanız gerektiğini söyleyecek kadar kibardır diyebiliriz. Bu sebeple diğer hatalara göre bu hatanın çözümü daha basittir.
Hataya neden olan dosyaya bağlı olarak, sorunu gidermenin iki yolu vardır:
Bu hatanın kaynağını bulmak oldukça basittir. Ancak, PHP'ye aşina değilseniz, bunu düzeltmek bir sorun olabilir. Hatayı bulamıyorsanız ve düzeltemiyorsanız, sorunun eklentiden gelme ihtimali oldukça yüksek. Sorununuzu çözüp çözmediğini görmek için tüm eklentileri devre dışı bırakabilirsiniz. Gerçekten bir eklentiden kaynaklanıyorsa, her seferinde bir eklentiyi etkinleştirerek ve web sitenizi yeniden yükleyerek onu bulmaya başlayabilirsiniz. Bu yöntem hatayı çözmenizi sağlamadıysa “?php <?” etiketleri hariç tüm kod satırları silmeniz gerekebilir. Eğer kod satırları ile aranız iyi değilse bu işlemi yapmak için php bilen bir yazılımcıya başvurmanız gerekebilir. Bu işlemi freelancer olarak yapabilecek birçok insan bulunuyor. Gerek Türk sitelerinden gerekse yabancı sitelerden projeniz için yazılımcı tutabilirsiniz ve makul bir ücret karşılığınızı sorununuzu çözdürebilirsiniz.
Bu soruna neden olan eklentiyi bulduktan sonra, onu devre dışı bırakmanız ve bu sorunu eklenti geliştiricisine bildirmeniz gerekecektir. Eğer bu yazıda yer alan tüm önerileri yapmanıza rağmen sorun çözülmediyse mail yoluyla bize ulaşabilir, sorunu nasıl çözeceğinizi açıklayabiliriz.
Bilgi bankasını detaylı olarak incelediniz, fakat ihtiyacınız olan bilgiyi bulamıyorsanız,
Bir Destek Talebi Oluşturun.