Eu tenho o mesmo problema que file_scan_directory () leva cerca de 10 segundos para executar . Eu apenas tentei a dpm(func_get_args())
sugestão e, infelizmente, ela não mostra nada para mim.
Limpei todos os caches e executei as tarefas cron. o que estou perdendo?
Respostas:
Verifique se você possui
print $messages;
seupage.tpl.php
arquivo de modelo. Por padrão, o devel (dpm) está configurado para imprimir seu conteúdo na área de mensagens do site. Portanto, se por algum motivo seu modelo não renderizar o conteúdo$messages
, você não verá nada.fonte
Às vezes
krumo($variable)
pode funcionar quandodpm($variable)
não funciona.Às vezes
print dpm($variable)
pode funcionar quandodpm($variable)
não funciona.print $messages
no seupage.tpl.php
. Talvez você possa adicioná-lo de volta.fonte
Você deve estar logado no site Drupal, com as permissões corretas para acessar o Devel. Faça o login como administrador deve fazê-lo.
fonte
Eu recomendo devel_debug_log . Requer o módulo devel e fornece a função ddl (). O ddl adiciona uma página aos seus relatórios na configuração; portanto, é semelhante à impressão de watchdog, mas você tem uma boa página limpa, onde pode enviar suas mensagens de depuração, e não se preocupe com as condições do tipo de corrida nas quais suas mensagens podem ser limpas antes de você uma chance de vê-los - ou, como no seu caso, problemas de tema.
(Essa também é uma ferramenta EXTREMAMENTE útil se você estiver tentando criar algum tipo de API, pois todas essas solicitações nunca mostrarão nenhum tipo de mensagem dpm ().)
fonte
Certifique-se de ter ativado e instalado o módulo Devel , como
dpm()
é uma função declarada neste módulo.dpm()
descrição retirada daqui .Depois de baixar e ativar o Devel, tente a resposta de file_scan_directory () em aproximadamente 10 segundos para executar novamente e deve funcionar.
fonte
dpm(func_get_args());
?dpm(func_get_args());
paradie(print_r(func_get_args());
- ignorar Devel por enquanto.Se você deseja imprimi-lo de dentro de uma função sem tocar (ou ter) um arquivo de modelo, tente o seguinte:
fonte
Às vezes, isso é resultado de um recurso na página retornando um 404.
Drupal renderiza a página 404 e, ao fazer isso, busca (e limpa) as mensagens da sessão e as coloca na página 404 que você não vê. Então, quando a página principal busca as mensagens, não há mais nenhuma.
Você pode abrir a guia rede e verificar se algum recurso possui um status 404.
Uma solução fácil aqui é ativar o 404 rápido descomentando esta linha em settings.php:
Outra boa solução aqui é usar o devel_debug_log, conforme sugerido pelo SlakeFistcrunch.
fonte
Às vezes, a mensagem pode ser cortada ou não funcionará no caso de AJAX.
O método mais confiável é fazer exatamente (em seguida, remover após o término):
Ou você pode usar
dd()
(também parte do Devel), por exemplodepois verifique seu arquivo de log (na pasta temp), por exemplo
O uso do método acima é mais conveniente, mais rápido e pode suportar AJAX ou outra solicitação sem interromper a renderização do site atual.
Se você ainda gosta
dpm()
, tente também usarkint()
(ative o sub-módulo Kint incluído para essas bonitas impressões de variáveis).fonte
Se apenas algumas
dpm()
chamadas não funcionarem, isso pode ocorrer devido a umadpm()
falha. Vi isso acontecendo no seguinte cenário em um manipulador de envio de formulário personalizado:Acredito que a condição de erro foi detectada por um manipulador de exceções
dpm()
, porque a página estava sendo exibida corretamente, sem WSOD ou algo assim, apenas nenhumadpm()
mensagem. O erro provavelmente é uma recursão não detectada, porque o usoddl($form_state)
resultou em um limite máximo de memória do navegador ao assistir ao objeto correspondente no relatório gerado pelo módulo Devel Debug Log.Como solução alternativa, tente imprimir apenas uma parte (relevante) do objeto, como
dpm($form_state['values'])
oudpm(array_keys($form_state))
.fonte