WordPress : Blank Screen Of Death

Wordpress Yorum Yapılmamış »

WordPress, joomla, drupal vs. gibi açık kaynak kodlu içerik yönetim ya da blog sistemlerinin herhangi birisini kullanan/kullanmış olan arkadaşlar, bu yazılımların yükseltilmesi işleminin biraz endişe verici olduklarını çok iyi bilirler. Her an bir sürizle karşılaşabilirsiniz çünkü. Misal WordPress’te bir blog sistemi oluşturmuşsunuzdur ve yıllar boyunca bir şeyler yazıp çizmişsinizdir. Efendim günlerden bir gün yeni bir sürüm çıkar ve yükseltmek istersiniz, yeni kodları alırsınız eskileri ile değiştirirsiniz ama siteye girdiğinizde bir de bakarsınız ki site uçmuş gitmiş :) Ya da veri tabanına bakarsınız anlaşılmadık bir şekilde onca yıldır büyük bir özenle girdiğiz yazılarınız vs. tablolarda yok! Eğer bir de düzenli yedekleme yapmıyorsanız! ya da yükseltme öncesi kod ve veri tabanı yedeklemesi yapmadıysanız vay halinize! Uğraş dur…

Neyse lafı çok uzatmak istemiyorum. Ben geçenlerde WordPress alt yapısını kullanan sitelerimi güncellemek istedim. Askerden yeni geldim ve askerliğim süresince kodlara elimi süremediğim için böyle bir güncellemenin uygun olacağını düşünmüştüm. Kendi blogumda herhangi bir sorun olmadı :) Ancak kız arkadaşımın -www.melikesenyuksel.com- ve yeğenimin -www.esince.net- sitesini güncelledikten sonra ilgili sitelere girdiğimde tamamen boş beyaz bir sayfa ile karşılaştım:) -hatıra defterlerinde sıkça bahsedilen yüreklerden temiz beyaz sayfa-

İşin ilginç yanı WordPress’in herşeyin yolunda olduğunu söylemesiydi. Sayfanın düzgün bir şekilde yüklendiğini kullandığım tüm tarayıcılar onaylıyordu!

Sitelerin yönetim panellerine girebiliyordum ancak yönetim panelinde de herhangi bir ipucuna rastlamadım! Ben de internetten aradım taradım ve gördüm ki bu sorun sıkça karşılaşılan bir durummuş ve insanlar bu sorunu aşmak için saatlerini ve hatta bazen günlerini harcamışlar!

Ben de benim başıma geldi uğraştım, vakit harcadım, diğer arkadaşlar böyle bir durumda kaldıklarında çok fazla vakit kaybetmesinler diye bu yazıyı yazdım. İyi bişey yapıyorum herhalde :)

Öncelikle şunu söyleyeyim bu sorunun birçok nedeni olabilir ve hatta bazıları çok saçma sapan şeyler gibi gelebilir size -ki gerçekten bazılarına ben dahi anlam veremedim-. Neyse, gelgelelim bu soruna neden olabilecek durumlara ve çözümlere…

  • Kontrol etmeniz gereken ilk durum arkaşlar yüklemenin/güncellemenin doğru ve eksiksiz yapıldığını teyit etmeniz. Bunun için güncelleme dosyalarını yeniden indirin ve sunucuya yeniden gönderin.
  • Kullandığınız b*ktan bir FTP Client dosyaların tam olarak sunucuya aktarılmasına engel olmuş olabilir. Kullanılan FTP Client’tan şüphe duyuyorsanız daha iyi bir FTP yazılımı ile dosyaları sunucuya yeniden gönderin ve güncellemeyi yeniden yapın.
  • /wp-admin/upgrade.php scripti çalışırken bir soruna neden oluyor olabilir. Log’ları kontrol ederek çözüme ulaşmaya çalışın.
  • Güncellenen WordPress sürümü ile uyumlu olmayan bir plug-in aktif olarak kullanılıyor olabilir. Bütün plug-in’leri etkisizleştirin ve tek tek plug-in’leri aktif hale getirerek soruna neden olan plug-in’i bulmaya çalışın. Hemen not düşelim : yönetim paneline erişiminiz olmayabilir. Bu durumda yönetim paneline erişim yapmadan plug-in’leri pasif hale getirmek zorundasınız. Bunu yapmak için de bu yazımı okuyun lütfen. http://url2mini.com/fR
  • Güncellenen WordPress sürümü ile uyumlu olmayan bir tema kullanılıyor olabilir. Bir üstteki maddede plug-in’ler için önerilenleri bu adım için de yapın.
  • wp-config.php dosyası içerisine yeni bir define(‘SECRET_KEY’,… parametresi yerleştirin – Not: Parametreyi dosyanın sonuda değil /* That’s all, stop editing! Happy blogging. */ satırından önce bir yerlerde ekleyin.
  • wp-config.php dosyasının sonunda bir boşluk varsa -Carriage return/Line feed- bu boşluğu kaldırın (İlginç dimi!).
  • Ingilizce dışında farklı bir dil kullanıyorsanız /wp-content/languages/ klasörü içerindeki dil dosyalarının üzerine dil dosyalarını yeniden kopyalayın/üzerine yazın! (daha da ilginç! ben sorunu böyle çözdüm!)

Evet bi yazının da sonuna geldik! Umarım WordPress’çi arkadaşlara bir faydamız dokunmuştur :)

WordPress plug-in’lerini yönetim paneline erişmeden pasif/aktif hale getirmek

Wordpress Yorum Yapılmamış »

Yazının başında hemen söyleyelim, bu işlemi yapmak için MySQL veri tabanınıza erişiminizin olması gerekiyor!

Bazı durumlarda -bkz. http://url2mini.com/fQ- WordPress plug-in’lerini yönetim paneline erişmeden/erişemeden etkinleştirmek ya da etkisizleştirmek isteyebilirsiniz. Peki bunu nasıl yapacaksınız, adım adım anlatıyorum, şöyle ki :

  • phpMyAdmin ile MySQL veri tabanınıza erişerek plug-in durumlarını değiştirmek istediğiniz WordPress kurulumuna ait veri tabanını açın.
  • wp-options tablosunu açın ve active_plugins alanını bulun. Bunun için aşağıdaki SQL cümleciğini kullanabilirsiniz.
    • SELECT option_value FROM wp_options WHERE option_name = ‘active_plugins’ LIMIT 1;
  • Bundan sonraki adıma geçmeden önce yapmanız gereken şey bu alana ait değeri MUTLAKA yedeklemeniz.
  • Son olarak ya aşağıdaki SQL cümleciğini kullanarak ya da phpMyAdmin’i kullanarak ilgili alanı güncellemeniz.
    • UPDATE wp_options SET option_value = ” WHERE option_name = ‘active_plugins’;

Hepsi bu…

PHP mail() fonksiyonunun çalışmaması

PHP, Wordpress 1 Yorum Yapılmış »

php logoŞimdi efendim WordPress kullanan arkadaşlar bilirler, özellikle wordpress’i windows tabanlı işletim sistemleri üzerinde kullanan arkadaşlar -ne biliyim Windows 2003 olur, Windows 2000 olur, olur da olur – dikkat etmişlerdir, çoğu zaman php nin mail() fonksiyonu çalışmaz. Ha şansınız vardır, php’ yi kurar kurmaz, WordPress’i yükler yüklemez çalışır, götünüzden bal akıyo derim, başka da bişey demem. Normalde çalışmaz çünkü, ya da yalnızca bana kıllık yapıyo, bilemiyorum.

Neyse efendim, ben bu olaydan çokça muzdarip olduğum için, eğer siz de yaşıyorsanız benzer durumları, yaşamamanız için -sonuçta sizin rahatınız için çalışıyoruz dimi :) - kısaca bu problemi nasıl çözebileceğinizden bahsedicem. Öncelikle php’nin mail() fonksiyonunun gerçekten çalışıp çalışmadığını kontrol etmemiz lazım. Bunun için de boş bir php sayfası açıyoruz ve içerisine aşağıdaki kodları yazıyoruz efendim. Nedir yani,

<?php
$email = ‘postmaster@mymail.com‘;
$fromemail = ‘
postmaster@mymail.com‘;
$subject = $_POST['subject'];
$msg = ‘Bu bir denemedir’;
$headers = “From: “.$fromemail;
if( !mail($email, $subject, $msg, $headers) ){
echo “Eposta gönderiminde hata oluştu.”;
}else{
echo “Eposta başarıyla gönderildi.”;
}
?>

Sonrasında efendim dosyamızı kaydediyoruz ve sunucu üzerindeki bir siteye koyuyoruz. Tarayıcımızı kullanarak bu dosyayı browse ediyoruz. Karşımıza “Eposta gönderiminde hata oluştu” gibi bir yazı çıkıyorsa rahatlıkla şunu diyebiliyoruz, evet sizin sunucu üzerindeki php mail() fonksiyonun götüne su kaçmış, dolayısıyla çalışmıyor. Ha yok “Eposta başarıyla gönderildi” gibi bir yazı çıkarsa karşınıza, bu yazının geri kalan kısmını okumanıza gerek yok. Evinize gidin, yatın, dinlenin felan fişmekan…

Şimdi bilen arkadaşlar bilirler, php kurulu sistemlerde meşhur bir dosya vardır; php.ini dosyayı. Öteden beri kıl olurum zaten bu dosyaya, tipik bir linux, unix sistem kafası. Neyse mail() fonksiyonunuz çalışmıyorsa gidip php.ini dosyasını açıyoruz (genellikle windows kurulumunun olduğu klasör altında olur, ya da özel olarak php’yi belirli bir klasöre kurduysanız o klasör altındadır) ve aşağıdaki satırların olduğu bölümü buluyoruz.
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

burada dikkat etmeniz gereken satır smtp_port satırı, bu satırın mevcut sunucunuz üzerindeki SMTP servisinin kullandığı port ile aynı olması gerekir. Misal benim php.ini dosyamda bu değer 1000′di. Ne alakaysa artık! Ben bu değeri default smtp port değeri olan 25 ile değiştirdim ve iis’i yeniden başlatıp yukarıdaki testi (mail() fonksiyonunun çalışıp çalışmıyor olduğu) yinelediğimde, çok afedersiniz eşek gibi gönderdi mailleri php, çatır çatır hemde :)

Umarım faydalı olur bu bilgiler sizin için de.

Warning: Cannot modify header information

PHP, Wordpress Yorum Yapılmamış »

PHP kullanan arkadaşlar bilirler PHP’nin “Warning: Cannot modify header information” şeklinde bir uyarı mesajı vardır ki programcıya saç baş yoldurur adeta…

www.kahkaha.com ‘da çalıştığım dönemlerde yoğun olarak PHP kullanıyordum ve orada çalışırken de bu hata yüzünden çok tırnak yedim, çok saç döktüm :) Şimdi bizim derneğin sitesi (www.karsipinarkoyu.com) vesilesi ile yeniden PHP’ye bulaşmam gerekti, bulaştım da ve yine bu saç baş yolduran problem karşıma çıktı. Başka arkadaşlar da saç baş yolmasınlar diye bu yazıyı yazıyorum zaten. Benim bu problemi çözerken izlediğim adımlar umarım diğer arkadaşların da işlerine yarar…

  • .htaccess dosyasına php_flag output_buffering on seçeneğinin eklenmesi
    Ben denedim hiçbir işe yaramadı. Dışarıda bi dolu internet sitesi var bunu yapın probleminiz çözülecek diye. İnanmayın arkadaşlar, denedim ve onayladım. Bi b*ka yaramıyor bu seçenek…
  • PHP kodlarında kullanılan dosya formatı ile encoding’in farklı olması
    Bu seçeneği de denedim, çalışmadı. Misal dosya kodlaması UTF-8 ama sizin fiziksel dosyanız disk üzerinde ANSI olarak kayıtlı duruyor. Elemanlar diyorlar ki kodlama ile dosya kayıt formatı aynı olmalı. Kodlama UTF-8 ise, kayıt formatı da UTF-8 olmalı. Çok detaylı incelemedim bu sseçeneği açıkçası. Belki sizde çalışabilir ama bende herhangi bir etkisi olmadı.

  • PHP dosyalarının farklı editörler ile yeniden düzenlenmesi
    Şimdi efendim bu seçenek aslın “farklı editörler” değil de “skindirik editörler” olmalı aslında. Bazı editörler hakkaten skindirik oluyorlar çünkü (bkz. Microsoft Visual Studio Editor). Bu sorunun (Warning: Cannot modify header information) temel kaynağı bu aslında arkadaşlar. Yani bir php kodu başlangıç etiketinden (<?php) önce ya da kapanış etiketinden (?>) sonra boşlukların, yeni satırların veya söz dizimini bozan başka karakterlerin kullanılıyor olması. Bazen bu karakterleri (gereksiz) biz bilerek yerleştiriyorz PHP kodlarına bazen ve sıkça da yukarıda sözünü ettiğim skindirik editörler kendileri ekliyorlar bu karakterleri koda. Siz tabi durumdan bihabersiniz. Bu hatayı alınca da çok afedersiniz g*t gibi kalıyosunuz, kalıyoruz, ben de kaldım çünkü, ortada…

Sonuç olarak arkadaşlar yukarıdaki uyarı mesajını alan arkadaşlara yegane tavsiyem. Orjinal kodlarını yeniden değiştirdikleri kodların üzerine yazmaları. Bunun için de günlük yedeklerinizi vs. çok iyi yapıyor olmanız gerekiyor. Aman dikkat diyorum…

WordPress güvenlik anahtar üretici

Güvenlik, Wordpress 4 Yorum Yapılmış »

wordpress

WordPress kullanan arkadaşlar bilirler, kurulum yapılmadan önce wordpress’in kurulumu ve işleyişi için gerekli wp-config.php adlı bir dosyanın oluşturulması gerekiyor. Şimdi efendim bu dosyanın içerisinde de kullanıcı giriş bilgileri, veri tabanı ve çerez güvenliği için ekstra bir takım anahtar tanımlamaları yer alıyor. WordPress’in 2.6 sürümü ve önceki sürümlerinde bu dosya içerisinde AUTH_KEY, SECURE_AUTH_KEY, ve LOGGED_IN_KEY olmak üzere toplam 3 adet anahtar tanımlaması yer alıyor. WordPress 2.7 ile birlikte anahtar sayısı, NONCE_KEY anahtar tanımının da eklenmesiyle 4′e yükselmiş durumda. Neyse lafo çok fazla uzatmayalım,

Efendim bu anahtar değerlerlerinin kolay tahmin edilebilir olmaması,  bir takım yazılımlar aracılığı ile bulunabilme olasılığının çok düşük olması gerekiyor. Bu noktada işte aşağıda adreslerini vereceğim URL’leri kullanabilirsiniz. Birinci adres zaten wordpress’in resmi sitesinde yer alan bir uygulama,

WordPress Online Key Generator
http://api.wordpress.org/secret-key/1.1/

Ultra High Password Generator
https://www.grc.com/passwords.htm


Tasarım:FoxTheme & Photoshop Brushes | Türkçe Çeviri:denizakin.com
Yazılar RSS Yorumlar RSS Log in