php - 我们如何限制管理员以外的用户查看所有 php 错误?
问题描述
我们在某些页面中显示了错误。这些错误必须仅为管理员用户显示。
我将“要显示的错误消息”更改为无。仍然出现错误。我将 status-messages.html.twig 复制到我的主题中,并尝试提供 is_admin。这给了我错误。任何帮助,将不胜感激。
{% block messages %}
{% if message_list is not empty %}
{{ attach_library('bartik/messages') }}
<div class="messages__wrapper layout-container">
{{ parent() }}
</div>
{% endif %}
{% endblock messages %}
解决方案
错误显示只能在网站的开发副本上启用。即使您隐藏了某些用户无法显示的错误,也很有可能可以从开发人员工具中的某处访问这些错误(并且可能带来巨大的安全风险。)因此,默认情况下禁用错误显示的选项不可用'每个用户”,因为标准模式是:
- 禁用在生产站点上显示错误(在配置 > 日志记录和错误下)。查看错误日志以深入了解故障。
- 在您的本地/开发环境中,将以下内容添加到 sites/default/settings.local.php 以在该环境中启用错误显示
$config['system.logging']['error_level'] = 'verbose';
这样,当您将安装从 live 导入 dev 时,默认情况下将启用错误显示,无需任何修补。“设置它并忘记它”配置。
一篇关于这个主题的好文章,关于正确调试 Twig 的详细信息可以在https://www.drupixels.com/blog/enable-drupal-8-debugging-mode-and-error-reporting-local-development找到。
推荐阅读
- sql - PostgreSQL json_build_object 嵌套
- yaml - 订购者连接被拒绝 Hyperledger Fabric
- r - 通过在数据表中动态创建列名进行计算
- haskell - Haskell 用于推测执行条件/替代的策略
- postgresql - PostgreSQL:如何找出没有主副本的副本类型?
- django - 当架构中不存在字段时,如何防止 django 出错?
- pyspark - Kafka createDirectStream 使用带有 SSL 属性的 PySpark
- google-apps-script - onChange Script 不断返回到某些 SpreadSheet - Google pps Script / Google Sheets
- java - 将 awt.Robot 与 Tomcat 服务一起使用
- php - 将点更改为逗号