Magento Comment faire Pour Afficher le Message d'Erreur Complet au Lieu de Tronqué
Ce que quelqu'un sait comment faire pour que Magento afficher le message d'erreur complet et de ne pas tronquer avec ...
exemple:
Warning: include() [function.include]: Filename cannot be empty in /home/kevinmag/public_html/app/code/core/Mage/Core/Block/Template.php on line 241
0 /home/kevinmag/public_html/app/code/core/Mage/Core/Block/Template.php(241): mageCoreErrorHandler(2, 'include() [fetchView('frontend/base/d...')
Je veux savoir ce que le [fetchView('frontend/base/d..."), il coupe large avec le ...
- +1 j'ai aussi voulu voir ce genre de chose à plusieurs reprises.
- +1 moi aussi @sparcksoft
Vous devez vous connecter pour publier un commentaire.
Ne les blâme pas de Magento, il est tout de PHP faute 🙂 Le Exception::getTraceAsString méthode native coupe la trace de sortie, et il semble qu'il n'y est pas normal façon de le gérer.
La seule solution que j'ai eu à travailler est la suivante:
J'ai ajouté une fonction, que j'ai reçu de genre sir Steve (Comment puis-je obtenir la chaîne complète de PHP getTraceAsString()) à app\code\core\Mage\Core\functions.php:
J'ai modifié Mage.php fichier (printException de la méthode) - au lieu de
$e->getTraceAsString()
j'ai insérégetExceptionTraceAsString($e)
l'avis qu'il y a deux comparutions: pour le mode Debug activé et désactivé.Pour démontrer les résultats, voici un exemple de deux backtraces - sans la résoudre, et de les corriger en conséquence.
Vieux:
Nouveau:
Mise à jour: la logique ci-dessus que les modifications d'Erreur/de la sortie du rapport; ajouter cette logique à l'Exception du journal ainsi vous aurez envie de modifier le Mage::logException méthode de changement
avec
Espère que cela aide!
public function
et l'a appelé à l'intérieur deprintException
avecself::getExceptionTraceAsString($e)
functions.php
dansapp/code/local/Mage/Core
qui est remplacer le fichier par défaut (comme il est censé le faire). J'ai ajouté legetExceptionTraceAsString()
fonction de là et tout va bien. Donc tout le monde là-bas, assurez-vous de vérifier si vous avez déjà personnaliséfunctions.php
C'est du PHP et pas de Magento.
Voir ici où la troncature se passe - https://github.com/php/php-src/blob/master/Zend/zend_exceptions.c#L383
Je serais personnellement juste à vivre avec elle et d'utiliser d'autres méthodes de débogage, par opposition à un piratage de fichiers de base 🙂
Vous pouvez faire tout par un simple changement dans votre fichier.
Il suffit d'ouvrir vous
index.php
présent sur le dossier racine et écrire la ligne suivante juste après la balise de départ de la<?php error_reporting(E_ALL);
Après cela, enregistrer et télécharger votre fichier et vider le cache et maintenant toutes les erreurs seront affichées.