Geliştirici / hata ayıklama modunu nasıl etkinleştiririm?


35

Drupal 8 çekirdeği takma (standart profil kullanarak). ne zaman istisna / hata alsam, "Web sitesi bir hatayla karşılaştı. Lütfen daha sonra tekrar deneyin." (resmin altında olduğu gibi) metin ve hata hakkında detay / iz yok.

görüntü tanımını buraya girin

Yanıtlar:


51

Bir geliştirme sitesinde, aşağıdaki satırları settings.phpdosyada açıklamayı önerebilirim . emacs sites/default/settings.php

if (file_exists(__DIR__ . '/settings.local.php')) {
  include __DIR__ . '/settings.local.php';
}

ve sonra dosyayı kopyalayarak example.settings.local.phpgelen /sitesetmek klasöre /sites/defaultklasör ve bunu adlandırmaksettings.local.php

cp sites/example.settings.local.php sites/default/settings.local.php

Aşağıdaki ayarları eklemeye ek olarak

$config['system.logging']['error_level'] = 'verbose';

ayrıca hata ayıklama ve geliştirmeyi kolaylaştırmada size yardımcı olacak birkaç başka ayar ekler. Özellikle bunlardan hiçbirini istemiyorsanız, onları her zaman yorumlayabilirsiniz.

Not: file_existsHer sayfaya bir çağrı eklemenin siteyi yavaşlatacağını düşünüyorsanız , bunu üretim kodunda her zaman kaldırabilirsiniz.


Eğer örnek bir dosyanız yoksa, sadece aşağıdakileri içeren bir dosya da oluşturabilirsiniz<?php $config[...;
Danielle Madeley

1
Aşağıda belirtildiği gibi Devel modülü Drupal 8 için işleri kolaylaştırabilir. $ Config ['system.logging'] ['error_level'] = 'ayrıntılı' olduğunu doğruladı; ayarlar çalışıyor gibi görünüyor.
Darrell Ulm

Hata ayıklama ve önbelleğe almama
Rainer Feike


7

İşte farklı değerlere sahip değişken:

$config['system.logging']['error_level'] = 'all'; // hide|some|all|verbose

2
Olası değerleri eklediğiniz için teşekkür ederiz.
Mart’ta

Evet, bulunması şaşırtıcı derecede zor olan olası değerleri eklediğiniz için teşekkür ederiz.
arnoldbird

7

Drupal Console'a erişiminiz varsa, geliştirme / hata ayıklama ortamını kullanarak drupal site:mode dev; üretime geri döndürmeye hazır olduğunuzda, kullanın drupal site:mode prod.


1
Drupal Console ile güzel bir hile
ognockocaten

4

Drupal 8’de temel hata mesajlarını almak için hiçbir koda dokunmanıza gerek yoktur. Sadece git:

/ Admin / config / geliştirme / günlüğü

ve "Görüntülenecek Hata Mesajları" nı uygun bir seviyeye ayarlayın.

Son hatalarınızı yönetici arayüzünden de görüntüleyebilirsiniz:

/ Admin / raporlar / dblog

Dedi ki, ayarlar dosyaları hakkında diğer cevaplar vardır alakalı - Eğer sadece hiç geliştirme sitesinde değil, üretim üzerindeki hataları görünür yapmalıdır.

Settings.php içindeki $ config nesnelerinin / anahtarlarının üzerine yazarken dışa aktarma sırasında eşitleme dizinine yazılmaz, bu nedenle settings.php'inizin sağlanması .gitignore'da olduğundan, aynı sitenin klonları arasında eşitlemek için yapılandırma sistemini güvenle kullanmaya devam edebilirsiniz .


0

Devel ve Devel kint modüllerini de kurabilirsiniz. Bu kullanarak hata ayıklamanıza izin verir kint(xyz).


0

Yalnızca Drush'a erişiminiz varsa (Drupal konsolu yok) ve uzaktaki bir sunucuda çalışıyorsanız, tüm hataları gösterecek şekilde config'i ayarlayabilirsiniz:

sarhoş MYSITE.MYENV yapılandırma-set system.logging error_level all -y

Uzak bir sunucuda bir WSOD alıyorsanız ve daha fazla bilgi olmadan sorun gidermezseniz, bu kullanışlıdır.


Durum tarif için de son derece tavsiye drush sqlcardından SELECT * FROM watchdog ORDER BY wid DESC LIMIT 1dblog son girdiyi göstermek için.
Gogowitsch,

0

"Web sitesi bir hatayla karşılaştı. Lütfen daha sonra tekrar deneyin." seni hiçbir yere götürmeyecek. Drupal 8 sitenizden daha fazla bilgi almak için aşağıdaki yapılandırmaları etkinleştirebilirsiniz.

$config['system.logging']['error_level'] = 'verbose';

Yerel Drupal 8 geliştirmesi için, ana çalışma zamanı hatasını daha fazla hata ayıklama ve gidermeye yardımcı olmak için hata raporlamayı etkinleştirmeli, hataları görüntülemeli ve başlatma hatası görüntülemelisiniz.

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

TWIG hata ayıklaması ve Drupal Console ile hata ayıklamayı etkinleştirme hakkında daha fazla bilgiyi aşağıdaki blog gönderisinde bulabilirsiniz.

https://www.drupixels.com/blog/enable-debug-mode-and-error-reporting-local-development-drupal-8


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.