Merhaba Arkadaşlar. Biliyorum sizde bu hatayı alıyorsunuz ve çözemediğiniz için çok rahatsızsınız merak etmeyin bugün bu problemi çözücez 🙂
İnternette bir çok siteyi inceledim didik didik ettim problemin çözümünü hep 1 yöntemle denemişler ancak ben size daha iyisini anlatmayı hedefliyorum. Öncelikle problemi bilmek lazım bizim bu hatayı alma nedenimiz şuydu;
Eski sunucu php versiyonu düşüktü yeni sunucu php versiyonu 5 yani daha yüksek. Eski sunucu php versiyonuna bakmadığım için tam sürüm yazamadım php 4.2. gibi. Bu yüzden eski diyorum. Ben bu hatayı Joomla sistemde aldım ancak vBulletin ve WordPress sistemde alan arkadaşlarıda görüyorum. Diğer scriptlerde yada kendi yazdığınız özel yazılımlardada bu hata çıkacaktır elbet. Şimdi gelelim sorunu çözme adımlarımıza.
Joomla Strict Standards Çözümü
Öncelikle Joomla daha sonra diğer scriptlerde nasıl kullanıcağınızdanda bahsedicem. Joomla kurulu olan ana dizindeki index.php ve administrator klasörü içerisindeki index.php‘yi bir notepad++ programı ile açın ve “< ?php” den sonra alttaki kodu ekleyin.
ini_set('error_reporting', E_ALL & ~E_NOTICE); ini_set('display_errors', 'Off');
Ben bu kodu ekledikten sonra site düzeldi ama sonra farkettimki daha büyük bir problem daha var o neydi? Site error_log hatalarını kaydetmeye devam ediyodu. Her sayfa yenilemede 1200 tane log yazıyo düşünsenize günlük siteye bin kişi giriyo 🙂 apache hata yazmaktan kesinlikle durcaktır diycem ama ondan önce disk kotanız dolcaktır zaten. Bu sorunuda aşmanın yolunu buldum o da şu şekilde oldu.
public_html dizinine php.ini adında bir dosya oluşturun ve içine alttaki kodları yazın.
error_reporting = E_ALL & ~E_STRICT display_errors = Off
Belkide sadece php.ini ile bu problemi çözebilirsiniz ama ben yaptığım işlemleride yazdığım için tüm hepsini yazdım. Burada bilmeniz gereken bir diğer konuda şu diğer internet sitelerinde araştırdığınızda size şunu yapmanızı söylüyorlar kesinlikle yapmayın;
Sunucunuzdaki php.ini dosyasını açıp “display_errors = off” yapınız diyorlar ben bunu sadece o siteye özel olması açısından public_html içerisine yazdım. Neden tüm sitelerde hataları kapatıyimki? Sürekli hata veren bir sistemim var ama ben nedenini bilmeden duramam yani hatalı olarak devam etmek saçmalık olucaktır. Yukarıda neden kapattın diyecek olursanız? onun zaten problemi belli php sürümü eski bu yüzden hatayı alıyordum oradaki amacım öncelikli olarak siteyi açmaktı şimdi siteyi o hatadan nasıl kurtarabilirim kısmına geldik.
Joomla 1.5’den Joomla 2.5 sürümüne güncellemek problemi çözücek. Bunun içinde bir araştırma yaptım ve sizlere bu konu hakkındada bilgi vericem.
Bu konudada Şenol Şengül‘ün güzel bir makalesini buldum çok açıklayıcı bir yazı okumanızı tavsiye ederim.
Joomla 1.5’den Joomla 2.5 sürüm yükseltme
Bu işlemi yapmadan önce şunu iyice kavrayın sürüm yükseltme işlemlerinde bazen beklenmedik hatalar çıkabilir bu yüzden sitenizden olabilirsiniz bunun önüne geçmek için sistemin full yedeğini almanız gerekiyor onun içinde şu bağlantıları takip edin;
- cPanel yedek alma ve geri yükleme
- SSH ile cPanel Sitelerin Yedeklerini Almak
- Plesk panel yedek full almak
- SSH ile Veritabanı Yedek Alma ve Veritabanı Yedek Yükleme
Yukarıdaki içerikler yedek almanızda size faydalı olucaktır. Diyelimki sürüm yükseltirken hata aldınız ve tam yedeğinizle geri yüklemeye çalışıyorsunuz ama SQL yedeğiniz 120MB işte burada phpMyadmin devreye giremiyor çünkü onun upload limiti 50MB. Bununda bir çaresi var oda alttaki bağlantıya tıklayarak BigDump ile büyük veritabanını geri yükleyebilirsiniz.
Bu yazıma kadar şunu anlamışsınızdır çözümsüz birşeyimiz yok şükür. 🙂
Şimdi gelelim yükseltme işlemine 1.5’den 2.5’e yükseltirken jUpgrade eklentisine ihtiyacımız varmış Joomla uzmanları bu görüşte bildiğim kadarıyla. Öncelikle jUpgrade‘yi bilgisayarınıza indirin.
Kurulumunu sırasıyla anlatıyorum dikkatlice okuyun.
- Joomla Yönetim panelinde “Genel Yapılandırma” kısmında Sistem içerisindeki “Sistem Günlüğü Klasörü Yolu” ve Sunucu içerisindeki “Geçici Dosya Klasörü Yolu” bunları yeni sunucuya göre uyarlamanız gerekiyor yoksa eklentiyi yükleyemezsiniz. Dizin yolunu öğrenmek için Hosting sağlayıcınıza yada biliyorsanız mantığı örneğin linux gibi: /home/kullaniciadi/public_html/ logs & tmp gibi yazabilirsiniz.
- Yönetim panelinde Eklentiler -> Kur/Kaldır linkine tıklıyoruz ve jUpgrade eklentiyini buradan yüklüyoruz.
- Daha sonra panelde üst menüde Eklentiler -> Uyumlu Ek Yöneticisi kısmına tıklayıp “System – Mootools Upgrade” eklentisini aktifleştiriyoruz.
- Sonra Bileşenler kısmından jUpgrade’ye tıklıyoruz ve sağ üstteki “Özellikler” kısmından bir kaç ayar değişikliği yapıyoruz.
- SQL Driver -> MySQL seçili yapıyoruz.
- Enable migration debug -> Evet seçeneğini işaretleyip kaydediyoruz.
- Son olarak Start Upgrade butonuna basıp güncelleme işlemimizi tamamlıyoruz. Güncelleme esnasında alınacak hataları buraya yazın çözmeye çalışalım ancak buraya yazmadan önce ufak bir araştırma yaparsanız hatanın çözülmüşü vardır belki daha hızlı bulabilirsiniz. 🙂
Güncelleme işlemide tamamlandı ise artık yeni Joomla sistemini kullanıyorsunuz ve ilk başta yaptığımız php.ini’yi ve diğer kodları silebilirsiniz.
Diğer Scriptlerde Çözüm
Öncelikle hatanın PHP sürümü olduğunun farkındayız şimdi yukarıdaki gibi bir php.ini dosyası oluşturup public_html dizini altına atıyoruz.
error_reporting = E_ALL & ~E_STRICT display_errors = Off
Sorunu bu şekilde aslında çözmüş olmuyoruz sadece yeni php kodlarına geçene kadar bu işlemi yapıyoruz.
Eğer WordPress eklentisi bu hatayı veriyorsa eklentiyi kaldırın güncellenmesini bekleyin yada aynı işi yapan farklı bir eklenti arayın.
Hatayı vBulletin’de alıyorsanız yukarıdaki gibi yapamayabilirsiniz belki ama vBulletin sisteminizi sürüm yükselterek bu problemden kurtulabilirsiniz. vBulletin 5 sürümü ideal bir sürüm MySQLi kullanılıyor.
Kendi yazdığınız bir yazılım ise yada internetten indirdiğiniz ücretsiz bir script ise bu yazılımdaki eski php kodlarını bulup yeniye göre uyarlamanız gerekiyor ancak bu şekilde hatayı çözersiniz. Yukarıdaki php.ini hataları sadece gizliyor aslında çözmüş olmuyorsunuz hatayı çözene kadar gitmenizi tavsiye ederim. 🙂
Ağzına yüreğine gönlüne sağlık kardeşim sayende kurtuldum hatalardan Allah senden sonsuz kere razı olsun kardeş.. Ben php.ini olayını kendi masaüstümde bi metin belgesi açıp php.ini uzantısı ini olacak şekkilde ayarlayıp yenileme olduğunda kişi girmiş gibi gözüküp yüklenmesin diye verdiğin kodları yazdım içine ve o php.ini dosyasını publichtml içine filezilla ile aktardım bu şekilde yapmam da bir sakınca yoktur dimi kardeş?
#cemal bir problem olmaz merak etme 🙂