XML Ayrıştırma Hatası Line Number 2, Column 1 ve çözümü
Merhaba arkadaşlar ;
Eğer Wordpress kullanıyorsanız ve host değiştirdiyseniz bu hatayı alabilirsiniz. İlk önce eklentilerinizi kapatıp açınız daha sonra aşağıdaki işlemleri deneyebilirsiniz.
Geçen gün Henster arkadaşım host değiştirmişti. Host değiştikten sonra RSS lerinde bir hata oluşmuş ve /feed adresini açmaya kalktığı zaman.
XML Ayrıştırma Hatası: xml işleme komutu harici varlığın başında değilLocation: http://www.henster.org/feed/Line Number 2, Column 1:<?xml version=”1.0″ encoding=”UTF-8″?>
^
Hatayı biraz incelediğim zaman gördüm ki XML dosyasında bir boşluk kod olarak algılanıyor ve server tarafından okunamıyor. W3.Org nin FEED sayfasında test ettiğimde karşıma ..
1.
2. <?xml version=”1.0″ encoding=”UTF-8″?>
Böyle bir hata getirdi. 1. satırda bir boşluk var ve bu boşluğu kaldırmamız gerektiği bana söyleyince açıkcası kara kara düşünmeye başladım. Öncelikle Wordpress Destek sayfasında 10larca konu okudum bununla alakalı fakat malesef ki çözümünü tam ve kesin bir yerde bulamadım.
Herkesin söylediği şey : <? ?> kodları arasında bir boşluk kodu var ve kaldırılması gerekiyormuş. Ulen iyide hangi sayfanın hangi satırında bu boşluk kodu var ?
En sonunda aradım taradım ve buldum.
Sorun : <? kodu ile ?> kodları arasında bir yerde bir boşluk var. RSS görüntüleyiciniz çıktı vermiyor. Karşımıza hata sayfası çıkıyor.
Bu kodlar arasındaki boşluğu silmemiz gerekiyor.
ÖR:
<? php kodlarınız
kod kodlarınız kod ;
?>
Olarak yazıldığı zaman bazı HOST lar bunu okuyamamakta…
Olması gereken :
<? php kodlarınız
kod kodlarınız kod ;?>
Peki hangi dosyada bu boşluk olabilir ?
wp-config
wp-rss2
wp-atom
wp-rss
wp-feed
/includes/functions.php
Başlıca kontrol etmeniz gereken dosyalar bunlar. Bu dosyalardan birisinde muhakkak ki..
kodlarınız kod ;
yada
kodlarınız kod ;
?>
olarak son kapatma imleci ve soru işaretinden önce bir boşluk varsa
kodlarınız kod ;?>
şekline getirerek düzeltiniz. Bu dosyalarınızın içerisindeki bu boşluktan dolayı XML de size bir boşluk hatası verebiliyor. Ayrıca Feedburner’de XML dosyanızı malesef ki okuyamıyor.
2. Yöntem ;
Wp-includes klasörü içerisindeki ;
feed-rss.php, feed-rss2.php, feed-rss2-comments.php, feed-atom.php, feed-atom-comments.php, feed-rdf.php dosyaları içerisindeki
<?php echo ‘<?xml version=”1.0″ encoding=”‘.get_option(’blog_charset’).’”?’.’>’; ?>
kodun başına
// koyarak bu sorunu çözebilirsiniz.
Yani kodumuzu şu hale getiriyoruz.
//<?php echo ‘<?xml version=”1.0″ encoding=”‘.get_option(’blog_charset’).’”?’.’>’; ?>
www.teakolik.com/feed olarak RSS lerinizi bu hatayı düzelttikten sonra halledebilirsiniz. Biraz önce Henster arkadaşımın internet sayfası www.henster.org adresinin FEED leri çalışmaya başladı.
Haaaa unutmadan ben hangi dosyada buldum hatayı ?
wp-rss2 , wp-rss ve functions.php dosyaları içerisinde bu boşlukları buldum bir güzel temizledim canavar gibide çalışıyor artık…
Hadi kolay gelsin…



@Cenk
wp-config
wp-rss2
wp-atom
wp-rss
wp-feed gibi diğerlerinide kontrol ettiniz mi ?
@ TeaKolik
Evet onları değiştirdim. Ancak functions.php olmuyor. Bu yüzden de hala aynı hatayı alıyorum. Yukarda bahsettiğim şekillerde değiştirdiğimde ise functions.php de satır hatası alıyorum.
http://www.webcanavari.net/sitemap.xml Nasıl?
@ TeaKolik
Rahatsız ediyorum, kusura bakmayın. Ancak bir çözüm bulabildiniz mi acaba ?
@Cenk
Bu dosyaların dışında bir olasılık aklıma gelmiyor. Şimdiye kadar 2-3 arkadaşta aynı problem vardı editledim düzeldi. Yorum yazanlara bakarsan onlarda düzelmiş. Dikkatlice tekrar kontrol etmeni tavsiye ederim. Son olarak Gtalk’a gel müsait olduğumda beraber bir elden geçirelim.
@ TeaKolik
Yöntem kesinlikle çalışıyor. Yorumları okudum. Ancak dediğim gibi bende, yalnızca functions.php ‘de olmuyor.
http://www.teakolik.com/xml-ayristirma-hatasi-line-number-2-column-1-ve-cozumu/comment-page-2/#comment-62008
Bu mesajta belirttiğim gibi son kısmını yapamadım.
@Cenk
?> değil. ; ?> dener misin ?
) işareti nerden çıktı ?
@TEAkolik
) değil } imiş. Ben yanlış yazmışım. Ancak yine de farketmiyor. Dediğin gibi yaptım, hata veriyor.
Verdiği hata;
Parse error: syntax error, unexpected $end in /var/www/vhosts/xxxxxx.com/httpdocs/wp-includes/functions.php on line 2913