如何启用开发人员/调试模式?


35

安装drupal 8核心(使用标准配置文件)。每当我遇到异常/错误时,都会出现空白页,显示“网站遇到错误。请稍后重试。” (如下图所示)文本,没有关于错误的详细信息/跟踪。

在此处输入图片说明

Answers:


51

在开发站点上,我建议取消注释文件中的以下行settings.phpemacs 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每个页面添加呼叫会降低站点速度,则可以始终在生产代码中将其删除。


如果没有示例文件,则也可以创建一个包含<?php $config[...;
Danielle Madeley

1
如下所述,Devel模块可以使Drupal 8变得更容易。验证$ config ['system.logging'] ['error_level'] ='verbose'; 设置似乎起作用。
Darrell Ulm

我创建了一个Docker容器,该容器带有用于调试和非缓存的必要设置-希望它有用:hub.docker.com/r/feikede/drupal-dev
Rainer


7

这是具有不同值的变量:

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

2
感谢您添加可能的值。

是的,感谢您添加了可能很难找到的可能的值。
arnoldbird

7

如果您有权访问Drupal控制台,一个简单的选择是使用drupal site:mode dev; 启用开发/调试环境。当您准备将其重新生产时,请使用drupal site:mode prod


1
Drupal控制台的
妙招

4

要获得Drupal 8中的基本错误消息,您根本不需要触摸任何代码。只需转到:

/ admin / config / development / logging

并将“显示的错误消息”设置为适当的级别。

您还可以通过管理界面查看最近的错误:

/ admin / reports / dblog

就是说,其他有关设置文件的答案也很重要-您仅应使错误在开发站点上可见,而不在生产站点上可见。

导出时,settings.php中覆盖的$ config对象/键不会写入同步目录,因此,如果您的settings.php位于.gitignore中,则可以继续安全地使用配置系统在同一站点的克隆之间进行同步。


0

您也可以安装Devel和Devel kint模块。这将使您使用进行调试kint(xyz)


0

如果您只能访问Drush(没有Drupal控制台)并且在远程服务器上工作,则可以将配置设置为显示所有错误:

提取MYSITE.MYENV配置集system.logging error_level all -y

如果您在远程服务器上获取WSOD,并且如果没有更多信息就无法进行故障排除,则此功能很有用。


对于所描述的情况,我也强烈建议drush sqlc紧随其后SELECT * FROM watchdog ORDER BY wid DESC LIMIT 1显示dblog中的最后一个条目。
Gogowitsch,

0

空白页为“网站遇到错误。请稍后重试。” 不会带你到任何地方。要从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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.