EntityMalformedException:类型节点的实体上缺少包 属性。在 entity_extract_ids()

EntityMalformedException: Missing bundle property on entity of type node. in entity_extract_ids()

我遇到了这个错误。我浏览了以下文章和其他几篇文章,但其中 none 已经解决了我的问题。我知道,这个错误更普遍。我找不到原因所在。

注意:我的主页运行良好。我看到 Javascript 和 CSS 正在完美加载。除主页外,none 其他页面正在运行或重定向。这些页面出现 500 服务器错误。

https://drupal.stackexchange.com/questions/111610/how-to-debug-entitymalformedexception

另外,安装了Devel模块,把var_dump(debug_backtrace());放在common.inc的throw error前,试过debug也找不到错误。我已经按照文章检查了几个表,但没有任何故障节点。

如何调试这个错误?

此问题主要与 entity_load 函数有关,其中实体 ID 未作为参数传递。因此,请仔细查看您编写的自定义模块,如果有的话,请特别注意 entity_load。

万一其他人正在寻找调试 EntityMalformedException 错误的线索,我发现当调用 field_get_items() 并且实体丢失时,我的页面中断了并且没有出现优雅的错误消息。在调用之前为有效实体添加测试 field_get_items() 修复了它。

在调用 field_get_items() 之前对实体变量进行 !empty() 测试。