web-dev-qa-db-fra.com

Backend: Désactivez la manière dont Joomla affiche une erreur et obtient le réel PHP affichée?)

Je reçois une erreur comme celle-ci dans le backend exécutant ma propre extension:

Call to a member function setQuery() on null

Et parce que je ne suis pas clairvoyant, j'ai besoin d'informations supplémentaires sur l'endroit où l'erreur s'est produite.

Puis-je en quelque sorte désactiver la manière dont Joomla affiche les erreurs et obtient la véritable PHP affichée où je peux voir dans quel fichier et quelle ligne l'erreur s'est produite?).

J'ai seulement besoin du rapport d'erreur complet et réel dans le backend et non dans le frontend du site.

J'ai inséré ceci dans mon extension:

error_reporting(E_ALL);
ini_set('display_errors', TRUE);

Et cela donne des erreurs PHP dans certains cas, mais dans ce cas, il est difficile de savoir quelle ligne est ce qui cause l'erreur à cause du rapport d'erreurs trop simple de Joomla. Je ferais mieux de ne pas mettre en forme. page avec une référence d'erreur utilisable :-)

1
Jens Kirk

Essayez de consulter les PHP) fichiers de journal des erreurs de votre serveur. Ils doivent signaler le message d'erreur complet ou peuvent être configurés pour le faire.

Dans Joomla, vous pouvez obtenir des informations supplémentaires en allant dans system - global configuration - system Et en activant Debug System (La pile d'appels devrait alors vous diriger vers le module/composant posant problème), ainsi que définir server - error reporting à Development. Selon le type d'erreur, cela vous indiquera généralement la ligne droite.

Mise à jour

Une autre chose qui devrait fonctionner - allez à /templates/system/error.php (Frontend) ou administrator/templates/system/error.php (Backend) et ajoutez la ligne

<?php print_r($this->error);?>

Cela devrait vider toutes les informations de la page de message d'erreur. Si le modèle que vous utilisez contient un fichier error.php, Vous devrez alors l'ajouter à la place.

Annulez cela après avoir fini, cependant.

1
Richard B