Resim ve Yazı Güncellemede Sorun
wp-cron.php sorununu çözmeye çalışırken bir başka problem ortaya çıktı.
Son yazıma resim eklemeye kalktığımda bir türlü media alanına erişemedim.
Bunun olası 2 nedeni var:
1- Multisite WordPress wp-cron-mu.php kullanarak 15 dakikada bir gerçekleştirilen cron işlemleri, normal işleyişi olumsuz etkiledi.
2- Yazıda pre veya code ile betimlediğim kod örnekleri, sistemle bir şekilde etkileşime girerek akışı olumsuz yönde etkiliyor.
Nedeni daha kolay bulabilmek için bu iki olasılığı birbirinden ayırmak gerekiyor.
Bu yazyı biraz da bu amaçla yazıyorum.
Bu yazıda her hangi bir kod örneği olmayacak. Resim de koymayacağım.
Eğer bu yazıyı kaydeder veya yeniden düzenlerken herhangi bir problemle karşılaşmazsam, yaşanan sorunun kaynağı olarak alıntı kodları görmek kolaylaşacak.
Aksi halde, bu soruna cron uygulamasının yol açtığını söylemek daha doğru olacak.
…
Yukarıdaki bölümü kaydetmek için “Güncelle” butonuna bastığımda, Chrome adres kutusunda
“http://webmaster.gamet.com.tr/wp-admin/post.php”
satırı belirdi ve orada kaldı. Normalde işlemlerini tamamlayıp, aynı ekrana dönmesi gerekirdi.
Bilgisayarımın ikinci ekranından siteyi kontrol ettiğimde yazının düzgün olarak kaydedilmiş olduğunu gördüm. Yani “post.php” dosyası kayıt işlemlerini düzgün olarak gerçekleştirmiş olmakla birlikte, süreci tamamlayıp geri dönemiyor.
Bu yazıda bir kod alıntısı olmadığına, ama davranışın da değişmediğine bakılırsa, asıl sorumlu cron için yaptığımız düzenleme gibi görünüyor.
(post.php dosyasının kayıt işlemlerini tamamladıktan sonra ekrana boş bir sayfa getirip orada takıldığını da belirteyim. Bu sayfa gerçekten de boş, çünkü kaynak kodlarını görmek istediğinizde de tamamen boş bir sayfa çıkıyor.)
Bir yandan interneti de taramaya başladım. Bu durumu bazıları “WordPress Beyaz Ölüm Sayfası” olarak adlandırmış. Çok yeni bir sorun gibi de görünmüyor.
Sistemimde W3 Total Cache kullanıyorum. Onun bir etkisi olup olmadığını sınamak için tüm keşleri boşaltmasını isteyince, aynı Beyaz Ölüm Sayfası yeniden karşıma dikildi.
Böyle zamanlarda en yararlı ip uçları hata log dosyalarında bulunur.
Ve işte bütün sorunlarımın kaynağı!…
Bu bir bileşen: WP-dTree. Aslında çok işime yarayan bir bileşendi. Gözümü kırpmadan kaldırdım.
Ama boşuna sevinmişim! Değişen bir şey olmadı. Sadece WP-dTree cach ile ilgili hata mesajları sonlanmış oldu.
Şimdi bir başka suçlu bulmalı!
Örneğin W3 Total Cache’in kendisi olabilir mi?
Ama diğer subdomain sitelerimde hiç bir sorun yaratmadan çalışıyor.
Peki başka ne olabilir?
İnternetteki yazışmalardan birinde, functions.php dosyasının sonunda kalmış boş bir satırdan bahsediliyordu. Acaba bende de olabilir mi? Hemen kontrol ediyorum. Önce post.php dosyasını kontrol ettim. Gerçekten de en sonda boş bir satır vardı. Hemen temizledim.
ANcak Beyaz Ölüm Sayfası tüm ihtişamıyla yine karşımda.
functions.php dosyasını da kontrol ettim ama, orada boş satır falan yoktu zaten.
…
Bu kez temayı sorguluyorum. WordPress orijinal teması yerine yavru tema kullanıyordum. Bu yüzden doğrudan ana temayı etkinleştirdim.
Voila!
Sorun çözüldü! Sorunu yaratan yavru temanın kendisiymiş.
…
Hemen bir önceki yazıya dönüp resim sorunu ne durumda kontrol edeceğim.
Orada da her hangi bir sorun yok.
Demek ki yavru temanın functions.php dosyasında bir sorun olma olasılığı çok güçlü. Daha düşük bir olasılık olsa da, diğer ihtimal style.css dosyası. Bunlarda da fazla bir değişiklik yok zaten.
Hedef iyice daraldığına göre, sorunu çözmek artık çok daha kolay!
ahmet aksoy
Yavru temanın functions.php dosyasını boşalttığımda, tüm işlemler doğru şekilde çalıştılar.
Sonra, hatalı işlemi yakalamak için fonksiyonları birer birer yükledim.
Ama hepsini yüklediğim halde, bir sorun çıkmadı.
Belki de dosyanın içinde görünmeyen bir karakter mevcuttu. Temizlik sırasında ondan kurtulmuş olduk!
Bu tecrübenin temel kazanımı şu: WordPress bir işlem sırasında boş bir sayfa üretiyor ve orada takılı kalıyorsa, öncelikle functions.php dosyasını gözden ve elden geçirmekte yarar var!