"Web sitesi beklenmeyen bir hatayla karşılaştı. Lütfen daha sonra tekrar deneyiniz."


27

Bu hatayı Drupal 7 ile yaşıyorum

  1. bu hata hakkında daha fazla bilgiyi nasıl edinebilirim? Herhangi bir rapor, herhangi bir yerde herhangi bir günlük? PHP hatalarında hiçbir şey yok.

  2. bu mesajı nasıl devre dışı bırakabilirim ve hata ayıklama amacıyla daha kullanışlı bir mesajı nasıl alabilirim?

Not : sorum şu "bu sorunu nasıl düzeltebilirim" DEĞİLDİR

Yanıtlar:


27

Bu hata yakalanmamış bir PHP istisnasından kaynaklanır . Drupal istisnaları yakalar, böylece kullanıcıya hiçbir çirkin PHP hata mesajı gelmez. İstisna bilgisini Raporlar'daki 'Son log mesajları' bağlantısında bulabilirsiniz (veya şu yolu deneyin: / admin / report / dblog). 'Veritabanı günlüğü' modülünün etkin olduğundan emin olun çünkü bu modül bu raporu sunar.

Oluşturulan tüm dahili mesajları göreceksiniz. 'PHP' ve Severity 'error' türüne göre filtreleyin, muhtemelen yakalanmamış bir istisna hakkında bir mesaj bulacaksınız. Bu senin soruna neden oluyor. Artık daha fazla bilgiye sahipsiniz, böylece düzeltebilirsiniz.


Tamam teşekkürler, bu davranışı daha fazla hata ayıklamaya uygun bir davranışla değiştirmenin bir yolu yok mu? (örneğin ... ekranda istisnayı görüntüleme)
saat

Hayır, AFAIK bunu yapmanın kolay bir yolu yoktur. Kendi istisna işleyicinizi ayarlamayı deneyebilirsiniz (standart PHP işlevini set_exception_handler kullanarak) ancak yan etkilere dikkat edin.
sanzante

7
Kontrol etmek harika bir fikir /admin/reports/dblog. Tabii ki giriş bile yapamazsınız çünkü bu aptal hata, tüm drupal sitenizi tıkadı!
g33kz0r

"FieldException: Bilinmeyen bir alan yaratma girişiminde bulunma girişiminde bulunma girişiminde bulunma ..." gibi bir hata gördüm Kendim için, izleyiciye sarhoş davranma imkanı sağladı - Diğer insanlarla çalışıyorum ve git güncellemelerini çekiyorum, böylece modül kodunu alıyorum ama modülü etkinleştirmeniz gerekir (etkinleştirme, çekme isteğinde olmadığım veritabanında olduğu için, Özellikleri kullanıyoruz). Umarım bu diğer insanlara yardımcı olur.
therobyouknow

4
@ g33kz0r: Hata mesajlarını görmek için drush bekçi köpeği gösterisini kullanabilir veya siteniz tamamen arızalıysa bu mesajların saklandığı veri tabanındaki bekçi köpeği masasını kontrol ediniz.
sanzante

15

Drupal 6 ve 7

Drush kullanıyorsanız, sadece yapın drush vset error_level 1.

Aksi takdirde, " /admin/config/development/logging" konumuna gidin ve ayarı "Hatalar ve Uyarılar" olarak değiştirin

Drupal 8

Yerine drush vset/ vget/ vdelkullanabileceğiniz cset/ cget/ cdelyapılandırma değerleri için ve sset/ sget/ sdeldevlet değerleri için.


12

KOLAY YOL

Settings.php dosyasını düzenleyin ve buraya bir satır ekleyin (özellikle dev sitenizde bunu devam ettirebilirsiniz)

$conf['error_level'] = 1;

drush, veritabanını önyükleyebilmenizi gerektirir.


EN İYİ cevap. Zamanımı kurtardı.
Austin

6

Drupal 8 için KOLAY YOL ,

kabul edilen cevapta açıklandığı gibi son günlük mesajlarına erişmek için artık giriş yapamazsanız.

Dosyayı /sites/default/settings.phpbir editör veya ftp istemcisi ile açın ve bu satırı ekleyin:

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

Sayfayı yeniden yükledikten sonra, "Web sitesi beklenmeyen bir hatayla karşılaştı" yerine genel bir hata mesajı göreceksiniz. Lütfen daha sonra tekrar deneyiniz."


2

Bu hata geliyor _drupal_log_error().

Geliştirme için hızlı bir düzeltme olarak, daha ayrıntılı hata mesajları sağlamak için bu işlevi güncelleyebilirsiniz, ancak site yayınlanmadan önce tekrar değiştirdiğinizden emin olun :)


0

Dblog'u kontrol edin. Bir Drupal web sitesinde hata bulmak için en iyi yer. Tarayıcınızdaki ek hataları bulmak için JS konsolunu da kontrol edin.


Dblog (/ admin / report / dblog) için teşekkürler. Şimdi, bu mesajı nasıl devre dışı bırakabilirim ve hata ayıklama amacıyla daha faydalı bir mesajı nasıl alabilirim?
9'da

1
Neyse, bir JS hatasının bu sunucu hatasına neden olabileceğini sanmıyorum ...
12:42

0

watchdogMySQL'deki tabloyu kontrol edin . Blob'u ( variablessütun) indirebilir ve Not Defteri ile açabilirsiniz. Hata ile serileştirilmiş bir nesne gösterecektir.


0

Bunu dene:

hata seviyesi

admin menu equivalent: admin/config/development/logging
drush command: drush vset -y error_level <value>
values:
    0: none
    1: errors and warnings
    2: all 

0

Hataları Drupal web sitenizde görünür yapmak için sitenizin ana dizininde index.php dosyasını bulun. İndex.php dosyasını açın ve bu kodu doğrudan dosyanın ilk satırından önce ekleyin:

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

Ayrıca burada açıklandığı gibi Hata Günlükleriyle Drupal Sorunları Çözmeyi deneyebilirsiniz .


0

Bu eski bir iş parçacığı ancak girişleri sağlayarak son zamanlarda aynı sorunla karşılaştığım gibi. Ne olursa olsun, her zaman bu hatayı aldığım için Drupal yollarının hiçbirine erişemedim. Bu, bir görünüme güncelleme yaptıktan sonra başlamıştı, bu yüzden ne yapılması gerektiğini biliyordum, ancak görünümü açamadım. Böylece Apache sunucu kayıtlarına baktım. Sarhoş ve dblog'lara bakmak gibi yukarıda verilen çözüm dışında, özellikle uygulama yollarından hiçbirine erişemediğinizde Apache sunucu kayıtlarına bakmak yararlı olabilir. Bunlar genellikle \ logs \ error.log dosyası altında bulunur ve işlenmeyen istisna ve üretildiği yer vb. İle ilgili ayrıntılara sahip olur. Hızlı bir düzeltme olarak, istisna atan kodu yorumlayabilir ve uygulamada güncellemeler yapabilirsiniz. Benim durumumda, kod görünümüne, görünümü alabildim ve gerekli güncellemeleri yaptığım için yorum yaptım. Bazı benzer durumlarda birine yardımcı olacağını umuyorum


0

Bu çok ilginç, ancak sayfa kaynağını (CTRL-U) açarsanız, tüm uyarılar ve hata mesajları var, bunlar sadece gizli bir elemanın içinde. Ara element-invisible.

Düzenleme: dosyaya $conf['error_level'] = 1;da yerleştirilmelidir settings.php.

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.