Câu trả lời:
Trên một trang web phát triển, tôi sẽ đề nghị bỏ ghi chú các dòng sau trong settings.php
tệp. emacs sites/default/settings.php
if (file_exists(__DIR__ . '/settings.local.php')) {
include __DIR__ . '/settings.local.php';
}
và sau đó sao chép tệp example.settings.local.php
từ /sites
thư mục sang /sites/default
thư mục và đổi tên thànhsettings.local.php
cp sites/example.settings.local.php sites/default/settings.local.php
Ngoài việc thêm các cài đặt sau
$config['system.logging']['error_level'] = 'verbose';
nó cũng thêm một vài cài đặt khác sẽ giúp bạn gỡ lỗi và giúp phát triển dễ dàng hơn. Nếu bạn không muốn bất kỳ ai trong số họ nói riêng, bạn luôn có thể nhận xét họ.
Lưu ý: Nếu bạn nghĩ rằng việc thêm một file_exists
cuộc gọi vào mỗi trang sẽ làm chậm trang web, bạn luôn có thể xóa nó trong mã sản xuất.
Thêm dòng sau vào tệp settings.php.
$config['system.logging']['error_level'] = 'verbose';
Xem Tạo các thủ thuật / công cụ dành cho nhà phát triển cho D8 nhiều khám phá / rõ ràng hơn để biết thêm chi tiết.
Một tùy chọn dễ dàng, nếu bạn có quyền truy cập vào Bảng điều khiển Drupal, là cho phép môi trường phát triển / gỡ lỗi bằng cách sử dụng drupal site:mode dev
; Khi bạn đã sẵn sàng để thay đổi nó trở lại sản xuất, sử dụng drupal site:mode prod
.
Đây là biến có các giá trị khác nhau:
$config['system.logging']['error_level'] = 'all'; // hide|some|all|verbose
Để nhận thông báo lỗi cơ bản trong Drupal 8, bạn không cần phải chạm vào bất kỳ mã nào cả. Chỉ cần đi đến:
/ admin / config / Development / log
và đặt "Thông báo lỗi hiển thị" ở mức phù hợp.
Bạn cũng có thể xem các lỗi gần đây của mình thông qua giao diện quản trị viên:
/ quản trị / báo cáo / dblog
Điều đó nói rằng, các câu trả lời khác về các tệp cài đặt có liên quan - bạn chỉ nên để lỗi hiển thị trên trang web phát triển của mình chứ không phải sản xuất.
Ghi đè các đối tượng / khóa $ config trong settings.php sẽ không được ghi vào thư mục đồng bộ hóa khi xuất, vì vậy việc cung cấp settings.php của bạn ở .gitignore, bạn có thể tiếp tục sử dụng hệ thống cấu hình để đồng bộ hóa giữa các bản sao của cùng một trang web .
Nếu bạn chỉ có quyền truy cập vào Drush (không có bảng điều khiển Drupal) và bạn đang làm việc trên một máy chủ từ xa, bạn có thể đặt cấu hình để hiển thị tất cả các lỗi:
drush MYSITE.MYENV config-set system.logging error_level all -y
Điều này hữu ích nếu bạn nhận được WSOD trên máy chủ từ xa và không thể khắc phục sự cố mà không có thêm thông tin.
drush sqlc
theo sau SELECT * FROM watchdog ORDER BY wid DESC LIMIT 1
để hiển thị mục cuối cùng trong dblog.
Trang trống có "Trang web đã gặp lỗi. Vui lòng thử lại sau." sẽ không đưa bạn đi đâu cả. Để có thêm thông tin từ trang web Drupal 8 của bạn, bạn có thể kích hoạt các cấu hình sau.
$config['system.logging']['error_level'] = 'verbose';
Để phát triển Drupal 8 cục bộ, bạn cũng nên bật báo cáo lỗi, lỗi hiển thị và hiển thị lỗi khởi động để giúp bạn gỡ lỗi thêm và sửa lỗi thời gian chạy lớn.
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
Bạn có thể tìm thêm thông tin về gỡ lỗi TWIG và cho phép gỡ lỗi với Drupal Console trong bài đăng blog bên dưới.
https://www.drupixels.com/blog/enable-debug-mode-and-error-reporting-local-development-drupal-8
Để bật gỡ lỗi, hãy theo dõi bài viết: https://www.codeproject.com/Tips/5246457/Enable-Debugging-in-Twig-temsheet-Drupal-8
<?php $config[...;