PrestaShop'ta debug modu nasıl etkinleştirilir
Debug modu, PrestaShop'un boş sayfasını veya genel hata mesajını, hatanın tam teknik detayıyla değiştirir: dosya, satır, sorumlu sınıf. Kendiliğinden açıklanmayan bir sorunla karşılaşıldığında etkinleştirilmesi gereken ilk şeydir.
Debug modunu etkinleştirme ve devre dışı bırakma
-
FTP, SFTP veya SSH ile bağlanın
Değiştirilecek dosyaya ne yönetim panelinden ne de admin arayüzünden erişilebilir: sunucudaki dosyalara erişim gerekir.
-
config/defines.inc.php dosyasını açın
Bu dosya, 1.6, 1.7, 8 veya 9 sürümü fark etmeksizin PrestaShop kurulumunun config/ klasörünün kökünde yer alır.
-
_PS_MODE_DEV_ sabitini değiştirin
define('_PS_MODE_DEV_', false); satırını bulun, false değerini true ile değiştirin ve dosyayı kaydedin.
-
İlgili sayfayı yeniden yükleyin
PrestaShop 1.7 ve üzerinde, sayfanın altında çalıştırılan SQL sorgularını, yükleme süresini ve bir istisna oluştuysa hatanın tam yığınını gösteren bir Symfony hata ayıklama çubuğu belirir.
-
Mesajı okuyun ve kök nedene ulaşın
Mesaj, dosyayı, satırı ve genellikle sorumlu sınıfı veya eklentiyi belirtir. Doğru bir teşhis için aranması veya iletilmesi gereken metin budur.
-
Sabiti tekrar false yapın
Neden belirlenip düzeltildikten sonra _PS_MODE_DEV_ sabitini hemen false'a geri alın. Etkin bırakmak, teknik detayları ve bazen verileri herhangi bir ziyaretçiye açık hale getirir.
define('_PS_MODE_DEV_', true);
Debug modu somut olarak neyi değiştirir
Debug modu olmadan, PrestaShop PHP ve Smarty hatalarını yakalar ve ziyaretçiye hassas hiçbir şey göstermemek için bunun yerine genel bir sayfa veya boş bir ekran gösterir. Bu, canlı ortamda yararlı bir korumadır, ancak gerçekte ne olduğunu görmeyi de engeller.
Debug modu etkinken davranış sürüme göre değişir. PrestaShop 1.6'da, klasik PHP hataları ve Smarty derleme hataları doğrudan sayfada görüntülenir. Symfony framework'üne dayanan PrestaShop 1.7, 8 ve 9'da, dev modu ayrıca her sayfanın altında Symfony hata ayıklama çubuğunu (Symfony profiler) etkinleştirir: bu çubuk çalıştırılan SQL sorgularını, bunların çalışma sürelerini, tüketilen belleği ve bir istisna durumunda dosya ile satırı içeren tam çağrı yığınını listeler.
Debug modu önbellek davranışını da etkiler: geliştirme sırasında PrestaShop, derlenmiş bir sürüm sunmak yerine Smarty şablonlarını her istekte yeniden derler ve yapılandırmayı yeniden yükler. Bu daha yavaştır, bu da modu sürekli açık bırakmamak için bir başka nedendir.
Sık yapılan hatalar
- Teşhisten sonra _PS_MODE_DEV_ sabitini false'a geri almayı unutmak: site tüm ziyaretçilere teknik bilgileri, bazen de yapılandırma verilerini açık hale getirir.
- Yönetim paneli erişilemez durumdayken dosyayı yönetim paneline entegre kod düzenleyicisi üzerinden değiştirmeye çalışmak: bu durumda yalnızca dosyalara doğrudan erişim işe yarar.
- PrestaShop debug modunu sunucunun PHP debug moduyla (display_errors) karıştırmak: ikisi de faydalıdır ancak aynı şeyi göstermez ve farklı yerlerden ayarlanır.
- SSL sertifikası hâlâ uyarı gösteren bir mağazada debug modunu etkinleştirmek: ortaya çıkan teknik sayfa, güvenli olmayan bir ağda açık şekilde görülebilir hale gelebilir.
Sıkça sorulan sorular
Debug modu mağazada bir şeyi bozabilir mi?
FTP erişimim yok, ne yapmalıyım?
Debug modu etkin ama ekran hâlâ boş, neden?
Debug modu tüm mağazada mı yoksa yalnızca bir sayfada mı etkinleştirilmeli?
Görüntülenen hata mesajı hassas bilgiler içeriyor, bu ciddi mi?
İhtiyacınızı bir dakikada anlatın
Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.