У меня та же проблема, что для выполнения file_scan_directory () требуется около 10 секунд . Я только что попробовал dpm(func_get_args())
предложение, и, к сожалению, оно мне ничего не показывает.
Я очистил все кэши и запустил задачи cron. Что мне не хватает?
Ответы:
Убедитесь, что у вас есть
print $messages;
в вашемpage.tpl.php
файле шаблона. По умолчанию devel (dpm) настроен для печати своего содержимого в области сообщений сайта. Поэтому, если ваш шаблон по какой-то причине не отображает содержимое$messages
, вы ничего не увидите.источник
Иногда
krumo($variable)
может работать, когдаdpm($variable)
нет.Иногда
print dpm($variable)
может работать, когдаdpm($variable)
нет.print $messages
в вашемpage.tpl.php
. Может быть, вы можете добавить его обратно.источник
Вы должны войти на сайт Drupal с правильными разрешениями для доступа к Devel. Войдите в систему как администратор должен сделать это.
источник
Я очень рекомендую devel_debug_log . Для этого требуется модуль devel, а также функция ddl (). ddl добавляет страницу к вашим отчетам в конфигурации, так что это похоже на печать для сторожевого таймера, но у вас есть хорошая чистая страница, на которую вы можете отправлять отладочные сообщения, и не беспокойтесь о состояниях расы, когда ваши сообщения могут быть очищены до того, как вы шанс увидеть их - или, как в вашем случае, тематические проблемы.
(Это также ОЧЕНЬ полезный инструмент, если вы пытаетесь создать какой-либо API, так как все эти запросы никогда не будут показывать вам какие-либо сообщения dpm ().)
источник
Убедитесь, что вы включили и установили модуль Devel как
dpm()
функцию, объявленную в этом модуле.dpm()
описание взято отсюда .После того, как вы загрузили и включили Devel, попробуйте ответ из file_scan_directory (), чтобы выполнить его снова, потребуется около 10 секунд, и он должен работать.
источник
dpm(func_get_args());
?dpm(func_get_args());
наdie(print_r(func_get_args());
- обойти Devel на данный момент.Если вы хотите напечатать его из функции, не касаясь (или не имея) файла шаблона, попробуйте это:
источник
Иногда это является результатом ресурса на странице, возвращающего 404.
Drupal отображает страницу 404 и при этом извлекает (и очищает) сообщения из сеанса и помещает их на страницу 404, которую вы не видите. Затем, когда главная страница выбирает сообщения, ничего не осталось.
Вы можете открыть вкладку сети и проверить, имеют ли какие-либо ресурсы статус 404.
Простое решение здесь - включить быстрый 404, раскомментировав эту строку в файле settings.php:
Другим хорошим решением здесь является использование devel_debug_log, как предложено SlakeFistcrunch.
источник
Иногда сообщение может быть обрезано или не работает в случае AJAX.
Более надежный способ сделать это просто (затем удалить после завершения):
Или вы можете использовать
dd()
(часть Devel также), например,затем проверьте свой лог-файл (во временной папке), например,
Использование вышеуказанного метода более удобно, быстрее и может поддерживать AJAX или другой запрос, не нарушая текущий рендеринг сайта.
Если вам все еще нравится
dpm()
, попробуйте также использоватьkint()
(включите включенный подмодуль Kint для этих симпатичных переменных печати).источник
Если только некоторые
dpm()
вызовы не работают, это может произойти из-заdpm()
сбоя. Я видел, как это происходит в следующем сценарии в обработчике отправки пользовательских форм:Я полагаю, что ошибка была обнаружена обработчиком исключений в
dpm()
, потому что страница отображалась нормально, без WSOD или чего-то другого, просто безdpm()
сообщений. Ошибка, вероятно, является необнаруженной рекурсией, потому что использованиеddl($form_state)
вместо этого привело к тому, что браузер использовал максимум памяти при просмотре соответствующего объекта в отчете, сгенерированном модулем Devel Debug Log.В качестве обходного пути попробуйте распечатать только (соответствующую) часть объекта, например
dpm($form_state['values'])
илиdpm(array_keys($form_state))
.источник