J'ai le même problème car file_scan_directory () prend environ 10 secondes pour s'exécuter . J'ai juste essayé la dpm(func_get_args())
suggestion, et malheureusement elle ne me montre rien.
J'ai effacé tous les caches et exécuté les tâches cron. Qu'est-ce que je rate?
Réponses:
Assurez-vous de l'avoir
print $messages;
dans votrepage.tpl.php
fichier modèle. Par défaut, devel (dpm) est configuré pour imprimer son contenu dans la zone de message du site. Donc, si votre modèle pour une raison quelconque ne rend pas le contenu de$messages
, vous ne verrez rien.la source
Parfois, ça
krumo($variable)
peut marcher quanddpm($variable)
ça ne marche pas.Parfois, ça
print dpm($variable)
peut marcher quanddpm($variable)
ça ne marche pas.print $messages
en apage.tpl.php
plus en vous . Vous pouvez peut-être l'ajouter à nouveau.la source
Vous devez être connecté au site Drupal, avec les autorisations appropriées pour accéder à Devel. Connectez-vous en tant qu'administrateur devrait le faire.
la source
Je recommande fortement devel_debug_log . Il nécessite le module devel et vous donne la fonction ddl (). ddl ajoute une page à vos rapports dans la configuration, donc c'est similaire à l'impression sur watchdog, mais vous avez une belle page propre où vous pouvez envoyer vos messages de débogage, et ne vous inquiétez pas des conditions de type race où vos messages pourraient être effacés avant que vous ne les ayez une chance de les voir - ou, comme dans votre cas, des problèmes thématiques.
(C'est également un outil EXTRÊMEMENT utile si vous essayez de créer une sorte d'API, car toutes ces demandes ne vous montreraient jamais aucun type de message dpm ().)
la source
Assurez-vous d'avoir activé et installé le module Devel comme l'
dpm()
est une fonction déclarée dans ce module.dpm()
description tirée d' ici .Après avoir téléchargé et activé Devel, essayez la réponse de file_scan_directory () prend environ 10 secondes pour s'exécuter à nouveau et cela devrait fonctionner.
la source
dpm(func_get_args());
?dpm(func_get_args());
àdie(print_r(func_get_args());
- contourner Devel pour le moment.Si vous souhaitez l'imprimer depuis l'intérieur d'une fonction sans toucher (ou avoir) un fichier modèle, essayez ceci:
la source
C'est parfois le résultat d'une ressource sur la page renvoyant un 404.
Drupal affiche la page 404 et, ce faisant, récupère (et efface) les messages de la session et les place sur la page 404 que vous ne voyez pas. Ensuite, lorsque la page principale récupère les messages, il n'en reste plus.
Vous pouvez ouvrir l'onglet réseau et vérifier si des ressources ont le statut 404.
Une solution simple ici consiste à activer le 404 rapide en décommentant cette ligne dans settings.php:
Une autre bonne solution consiste à utiliser devel_debug_log comme suggéré par SlakeFistcrunch.
la source
Parfois, le message peut être coupé ou ne fonctionnera pas en cas d'AJAX.
Une méthode plus fiable consiste à faire juste (puis à retirer après la fin):
Ou vous pouvez utiliser
dd()
(une partie de Devel également), par exemplepuis vérifiez votre fichier journal (dans le dossier temp), par exemple
L'utilisation de la méthode ci-dessus est plus pratique, plus rapide et peut prendre en charge AJAX ou toute autre demande sans interrompre le rendu du site actuel.
Si vous aimez toujours
dpm()
, essayez également d'utiliserkint()
(activez le sous-module Kint inclus pour ces jolies impressions de variables).la source
Si seuls certains
dpm()
appels ne fonctionnent pas, cela peut être dû à undpm()
plantage. Je l'ai vu se produire dans le scénario suivant dans un gestionnaire d'envoi de formulaire personnalisé:Je crois que la condition d'erreur a été détectée par un gestionnaire d'exceptions
dpm()
, car la page s'affiche correctement, pas de WSOD ou quelque chose, juste pas dedpm()
message non plus. L'erreur est probablement une récursion non détectée, car l'utilisation deddl($form_state)
place, le navigateur a épuisé la mémoire lorsque vous regardez l'objet correspondant dans le rapport généré par le module Devel Debug Log.Pour contourner ce problème, essayez d'imprimer uniquement une partie (pertinente) de l'objet, comme
dpm($form_state['values'])
oudpm(array_keys($form_state))
.la source