การติดตั้ง drupal 8 คอร์ (ใช้โพรไฟล์มาตรฐาน) เมื่อใดก็ตามที่ฉันได้รับข้อยกเว้น / ข้อผิดพลาดฉันได้รับหน้าว่างด้วย "เว็บไซต์พบข้อผิดพลาดโปรดลองอีกครั้งในภายหลัง" ข้อความ (ตามภาพด้านล่าง) และไม่มีรายละเอียด / ติดตามเกี่ยวกับข้อผิดพลาด
การติดตั้ง drupal 8 คอร์ (ใช้โพรไฟล์มาตรฐาน) เมื่อใดก็ตามที่ฉันได้รับข้อยกเว้น / ข้อผิดพลาดฉันได้รับหน้าว่างด้วย "เว็บไซต์พบข้อผิดพลาดโปรดลองอีกครั้งในภายหลัง" ข้อความ (ตามภาพด้านล่าง) และไม่มีรายละเอียด / ติดตามเกี่ยวกับข้อผิดพลาด
คำตอบ:
บนเว็บไซต์พัฒนาฉันขอแนะนำให้ยกเลิกการใส่เครื่องหมายความคิดเห็นบรรทัดต่อไปนี้ในsettings.php
ไฟล์ emacs sites/default/settings.php
if (file_exists(__DIR__ . '/settings.local.php')) {
include __DIR__ . '/settings.local.php';
}
จากนั้นคัดลอกไฟล์example.settings.local.php
จาก/sites
โฟลเดอร์ไปยัง/sites/default
โฟลเดอร์และเปลี่ยนชื่อเป็นsettings.local.php
cp sites/example.settings.local.php sites/default/settings.local.php
นอกเหนือจากการเพิ่มการตั้งค่าต่อไปนี้
$config['system.logging']['error_level'] = 'verbose';
มันยังเพิ่มการตั้งค่าอื่น ๆ เล็กน้อยซึ่งจะช่วยคุณในการดีบักและทำให้การพัฒนาง่ายขึ้น หากคุณไม่ต้องการสิ่งใดเป็นพิเศษคุณสามารถแสดงความคิดเห็นได้ตลอดเวลา
หมายเหตุ: หากคุณคิดว่าการเพิ่มการfile_exists
เรียกแต่ละหน้าจะทำให้ไซต์ช้าลงคุณสามารถลบออกได้ในรหัสการผลิต
เพิ่มบรรทัดต่อไปนี้ในไฟล์ settings.php
$config['system.logging']['error_level'] = 'verbose';
ดูสร้างเทคนิค / เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์สำหรับ D8 ที่ค้นพบ / ชัดเจนมากขึ้นสำหรับรายละเอียดเพิ่มเติม
นี่คือตัวแปรที่มีค่าต่างกัน:
$config['system.logging']['error_level'] = 'all'; // hide|some|all|verbose
ตัวเลือกที่ง่ายถ้าคุณมีการเข้าถึง Drupal คอนโซลที่จะช่วยให้การพัฒนา / สภาพแวดล้อมโดยใช้การแก้จุดบกพร่องdrupal site:mode dev
; เมื่อคุณพร้อมที่จะเปลี่ยนกลับไปสู่การผลิต, drupal site:mode prod
การใช้งาน
ในการรับข้อความแสดงข้อผิดพลาดพื้นฐานใน Drupal 8 คุณไม่จำเป็นต้องแตะรหัสใด ๆ เลย เพียงไปที่:
/ ธุรการ / config / พัฒนา / การเข้าสู่ระบบ
และตั้งค่า "Error Messages to Display" ให้อยู่ในระดับที่เหมาะสม
คุณยังสามารถดูข้อผิดพลาดล่าสุดของคุณผ่านอินเทอร์เฟซผู้ดูแลระบบ:
/ ธุรการ / รายงาน / dblog
ดังที่กล่าวไว้คำตอบอื่น ๆ เกี่ยวกับไฟล์การตั้งค่านั้นมีความเกี่ยวข้อง - คุณควรเห็นข้อผิดพลาดในไซต์การพัฒนาของคุณเท่านั้นไม่ใช่การผลิต
การเขียนทับวัตถุ / คีย์ $ config ใน settings.php จะไม่ถูกเขียนไปยังไดเรกทอรีการซิงค์เมื่อทำการส่งออกดังนั้นหาก settings.php ของคุณอยู่ใน. gitignore คุณสามารถใช้ระบบการกำหนดค่าเพื่อซิงค์ระหว่างโคลนของไซต์เดียวกันได้อย่างปลอดภัย .
คุณยังสามารถติดตั้งโมดูล kint Devel และ Devel kint(xyz)
นี้จะช่วยให้คุณแก้ปัญหาโดยใช้
หากคุณมีสิทธิ์เข้าถึง Drush เท่านั้น (ไม่มีคอนโซล Drupal) และคุณกำลังทำงานบนเซิร์ฟเวอร์ระยะไกลคุณสามารถตั้งค่าคอนฟิกให้แสดงข้อผิดพลาดทั้งหมด:
drush MYSITE.MYENV config-set system.logging error_level all -y
สิ่งนี้มีประโยชน์หากคุณได้รับ WSOD บนเซิร์ฟเวอร์ระยะไกลและไม่สามารถแก้ไขปัญหาได้หากไม่มีข้อมูลเพิ่มเติม
drush sqlc
แล้วตามด้วยSELECT * FROM watchdog ORDER BY wid DESC LIMIT 1
เพื่อแสดงรายการสุดท้ายใน dblog
หน้าว่างด้วย "เว็บไซต์พบข้อผิดพลาดโปรดลองอีกครั้งในภายหลัง" จะไม่พาคุณไปทุกที่ เพื่อรับข้อมูลเพิ่มเติมจากไซต์ Drupal 8 ของคุณคุณสามารถเปิดใช้งานการกำหนดค่าต่อไปนี้
$config['system.logging']['error_level'] = 'verbose';
สำหรับการพัฒนาในท้องถิ่น Drupal 8 คุณควรเปิดใช้งานการรายงานข้อผิดพลาดข้อผิดพลาดในการแสดงผลและข้อผิดพลาดในการเริ่มต้นการแสดงผลเพื่อช่วยให้คุณสามารถแก้ไขข้อผิดพลาดและแก้ไขข้อผิดพลาดรันไทม์ที่สำคัญ
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับการดีบัก TWIG และเปิดใช้งานการดีบักด้วย Drupal Console ในบล็อกโพสต์ด้านล่าง
https://www.drupixels.com/blog/enable-debug-mode-and-error-reporting-local-development-drupal-8
ในการเปิดใช้งานการดีบักให้ทำตามบทความ: https://www.codeproject.com/Tips/5246457/Enable-Debugging-in-Twig-templates-Drupal-8
<?php $config[...;