MahmutGulerce Posted April 9, 2012 Share Posted April 9, 2012 (edited) Prestashop Hata Yönetimi Herkese Merhaba; Öncelikle:Mağaza işletmecileri bu tür teknik yazıları okumalıdır. Teknik bilgilerden korkmamalıdır. Teknik bilginiz olmadan mağazanıza hakim olamazsınız. Ehliyet alırken neden motor dersi verildiğini düşünmelisiniz. Prestashop bir çok modern PHP (bir yazılım dili) uygulaması gibi "hata yönetimi" (error handling) yeteneğine sahiptir. Peki ne işe yarar hata yönetimi: Öncelikle hata kodlarının ne işe yaradığını yazalım. PHP dili derlenirken/çalışırken oluşan teknik hataları detayları ile birlikte sayfalarınızda gösterebilir. Bu hata gösterimi ilgili sorunun, kaynaklandığı kod parçasını, kodun bulunduğu dosyayı hatta dosyanın satırını bile bulup size sunar. Bu şekilde hataların tespiti ve düzeltilmesi oldukça kolaylaşır. Hata gösteriminin bu yararı yanında sakıncaları da vardır. Çünkü hata kodları sitenize erişen herkese gösterilir. Bu hem kötü bir görüntü yaratır hem de kullandığınız sistem ile ilgili kritik bilgilerin başkaları tarafından görülmesi demektir. PHP dilinde bazı fonksiyonlar hata gösterimini açıp kapatmaya yarar. Prestashop hataların gösterilip gösterilmeyeceği ile ilgili bu fonksiyonları Prestashop Versiyonunuz 1.5.3'ten küçük ise Prestashop Kurulu Dizin/Config/config.inc.php dosyasında barındırır. Standart olarak hata gösterimi kapalıdır. ilgili dosyayı açtığınızda ilk satırda (açıklama satırlarından hemen sonra) @ini_set('display_errors', 'off'); satırını görebilirsiniz. Bu satırdaki off değeri gösterimin kapalı olduğu anlamına gelir. Eğer mağazanızda yolunda gitmeyen bir şeyler varsa ilk olarak buradaki off değerini onolarak değiştirmenizi öneririm. Bırakın PHP dili size ne derdi varsa anlatsın. Bazen hata veri tabanı ile ilgili olabilir. Bu tür durumlarda PHP size yeterince bilgi veremez. Hata gösterim satırının hemen altında: define('_PS_DEBUG_SQL_', false); satırı bulunmaktadır. Bu satır veri tabanınızda yapılan işlemlerde (sorgularda) herhangi bir hata olursa hatanın detayını gösterme/göster seçeneğidir. Buradaki false değerini true veya 1 yapmanız halinde olası veri tabanı sorgu hataları da size gösterilecektir. PrestaShop 1.5.3 ve üzeri versiyonlar için/config/defines.inc.php dosyasını açın define('_PS_MODE_DEV_', false); satırını define('_PS_MODE_DEV_', true); şeklinde değiştirin. PHP hata kodlarının türleri vardır. Bunları bilmenizde fayda var çok kısa özetlersek: Kodların başladıkları ilk kelimeler: Warning: ve Notice : (Uyarı düzeyi) program çalışmaya devam eder ama bir aksaklık oluşmuş ve php derleyicisi bunu es geçmiş, veya varsayılan bilgiler ile doldurmuştur. Fatal Error: (Ölümcül Hata) program çalışırken durmuştur.Telafi edilemez bir kodlama anlam sorunu var demektir. Genelde olmayan bir fonksiyon, olmayan bir sınıf nesnesi kullanıldığında oluşur. Syntax Error: (İmla Hatası) program hiç çalışmadan durmuştur.Derleme sırasında bir kodlama imla sorunu var demektir. Genelde eksik noktalı virgül gibi basit yazım hatalarında oluşur. Bu hata durumunda program hiç çalışmaz. ) Tabiki bunların dışında da hata sınıfları vardır ama bizi pek ilgilendirmeyecekler. ÖRNEKŞimdi örnek bir hatayı inceleyelim: Sayfamızda şu yazıyor: notice undefined index 'id' in var/www/vhost/..... /prestashop/modules/mahmut/gulerce.php on line 9 İlk göze çarpan hatanın notice yani uyarı düzeyinde olmasıdır. ikinci olarak sorunun /prestashop/modules/mahmut/gulerce.php dosyasında olduğunu görüyoruz 'on line 9' yani dosyanın 9 satırındaymış aradığımız hata Hataya sebep olan değişken veya dizi elemanı 'id' isimliymiş. Şimdi bu sorunu çözmek oldukça kolay değil mi ?Prestashop kullanıcılarının sık sık bahsettiği boş sayfa sorunu aslında Fatal veya Syntax hatası yüzünden çalışmayan bir kod parçasından kaynaklanır. Hata gösterimi de kapalı olduğu için boş sayfa görünür. Yine bir çok prestashop mağazası aslında Warning ve Notice düzeyinde bir sürü hata ile doludur fakat hatalar gizlendiği için görülmez. Hata gösterimi mağaza tasarım aşamasında iken açık tutulmalıdır. Mağaza yayına alındığında ise kesinlikle kapatılmalıdır. Sunucu değişikliği veya ansızın ortaya çıkan bir hata için geçici olarak yeniden açılmalıdır. Hataların gösterimini kontrol ederek hem sorunlarınızın çoğunu çözebilir hem de işiniz bitince gösterimi kapatabilirsiniz. ÖNEMLİ Hata gösterimi modunu açık unutmayınız. Hata gösterim modu açıkken ziyaretçileriniz bu hata kodlarını görebilir. Sitenizin hem görüntüsü hem güvenilirliği zarar görebilir. Makaleler ile ilgili olarak:Bu makalelerimin amacı uzun yıllar boyu sizlerden not aldığım bilgilerin ve işimin getirdiği teknik-teorik-pratik tecrübelerin derlenip sizlerle paylaşılmasıdır. Şu ana kadar 1500+ e-ticaret tecrübesi ile binlerce mağazacıyı ve onlarca tedarikçiyi dinlemiş, yüzlerce not almış, bir çok toplantı ve seminere konuşmacı/dinleyici olarak katılmış bir yazılım uzmanı olarak, bu deneyim birikimini paylaşmak üzere, açık kaynak topluluğumuzda makaleler yazmaya karar verdim. Makaleleri dilediğiniz yerde alıntı kaynağını göstermek şartı ile yayınlayabilirsiniz herhangi bir hak kısıtlaması yoktur. Bilgiler bilimsel veya pratik çalışmalara istinaden oluşturulmuştur. Geliştirilmesine katkı sunduğunuz için teşekkür ederim.Mahmut GÜLERCE Edited March 24, 2014 by MahmutGulerce (see edit history) 2 Link to comment Share on other sites More sharing options...
bera_ramazan Posted April 9, 2012 Share Posted April 9, 2012 tşk ederim Link to comment Share on other sites More sharing options...
Peda Posted April 12, 2012 Share Posted April 12, 2012 Elinize bilginize sağlık, güzel bir makale olmuş. Link to comment Share on other sites More sharing options...
MahmutGulerce Posted April 12, 2012 Author Share Posted April 12, 2012 Elinize bilginize sağlık, güzel bir makale olmuş. Teşekkür ederim. Link to comment Share on other sites More sharing options...
burakco Posted June 18, 2012 Share Posted June 18, 2012 teşekkürler faydalı olacağını düşündüğüm bir makale olmuş Link to comment Share on other sites More sharing options...
MahmutGulerce Posted March 24, 2014 Author Share Posted March 24, 2014 Merhaba Makaleyi Prestahsop 1.5'i kapsayacak şekilde güncelledim. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now