我有同样的问题,因为file_scan_directory()大约需要10秒钟才能执行。我只是尝试了这个dpm(func_get_args())
建议,但不幸的是它对我没有任何显示。
我已经清除了所有缓存,并运行了cron任务。我想念什么?
我有同样的问题,因为file_scan_directory()大约需要10秒钟才能执行。我只是尝试了这个dpm(func_get_args())
建议,但不幸的是它对我没有任何显示。
我已经清除了所有缓存,并运行了cron任务。我想念什么?
Answers:
您必须具有访问Devel的正确权限登录到Drupal站点。以管理员身份登录应执行此操作。
我强烈建议devel_debug_log。它需要devel模块,并且为您提供ddl()函数。ddl在配置中将页面添加到报表中,因此类似于打印到看门狗,但是您有一个干净的页面,可以在其中发送调试消息,而不必担心种族类型的情况,在此之前您可能会清除消息有机会看到它们-或就您而言,就是主题问题。
(如果您尝试构建任何类型的API,这也是一个非常有用的工具,因为所有这些请求都不会向您显示任何类型的dpm()消息。)
确保已启用并安装Devel模块,这dpm()
是该模块中声明的功能。
dpm()
描述从这里得到。
使用drupal_set_message()将变量输出到页面的“消息”区域。在处理运行站点的代码时,可以使用此功能来跟踪一个或多个变量。因为Devel模块现在随Krumo一起提供,所以输出紧凑且不引人注目。
dpm($input, $name = NULL)
如果由于某种原因未使用Krumo,则可以使用$ name参数来区分对dpm()的不同调用。
下载并启用Devel后,尝试执行file_scan_directory()中的答案大约需要10秒钟才能再次执行,它应该可以工作。
dpm(func_get_args());
?
dpm(func_get_args());
为die(print_r(func_get_args());
-暂时绕过Devel。
如果要在不触摸(或没有)模板文件的情况下从函数内部进行打印,请尝试以下操作:
$nid = 3;
$node = node_load($nid);
dpm($node);
print theme('status_messages');
有时这是页面上的资源返回404的结果。
Drupal呈现404页面,并从会话中获取(并清除)会话中的消息,并将其放置在您看不到的404页面上。然后,当主页获取消息时,就什么也没有了。
您可以打开“网络”标签,然后检查是否有任何资源处于404状态。
一个简单的解决方案是通过在settings.php中取消注释此行来启用快速404:
# drupal_fast_404();
另一个好的解决方案是使用SlakeFistcrunch建议的devel_debug_log。
如果仅某些dpm()
呼叫不起作用,则可能是由于dpm()
崩溃。我在以下情况下在自定义表单提交处理程序中看到了这种情况:
function mymodule_formid_submit($form, &$form_state) {
dpm($form_state);
}
我相信错误条件是由中的异常处理程序捕获的dpm()
,因为页面显示的很好,没有WSOD或类似的东西,也没有任何dpm()
消息。该错误可能是未检测到的递归,因为使用ddl($form_state)
替代方法会导致浏览器在查看由“ Devel调试日志”模块生成的报告中的相应对象时浏览器在内存上的占用最大。
解决方法是,尝试仅打印对象的(相关)部分,例如dpm($form_state['values'])
或dpm(array_keys($form_state))
。