2009-05-27 12 views
2

J'utilise des modèles Smarty qui appellent des méthodes d'objet. J'ai mis le code sur un nouveau serveur, mais il ne fonctionne pas correctement en silence. Le modèle est en cours de production, mais il est coupé à un certain point, probablement à cause d'une erreur.Comment voir pourquoi un template Smarty échoue silencieusement?

error_reporting est défini sur E_ALL. Même avec $smarty->error_reporting = E_ALL et $smarty->debugging = TRUE, aucune erreur n'est affichée.

Comment puis-je voir pourquoi le modèle est défaillant?

Répondre

2

Vérifiez le journal des erreurs PHP sur votre serveur web généralement stocké dans /var/log/apache/php.errors sur une distribution linux.

+0

Cela est dû à une extension manquante. Merci! Bien que le mystère reste encore. 'display_errors' est activé, donc toutes les erreurs PHP devraient s'afficher dans le navigateur. Mais cela ne se produit pas à l'intérieur du modèle, pour une raison quelconque. – Zr40

1

Je suppose que l'option php.ini pour 'display_startup_errors' est désactivée, donc il échoue silencieusement en essayant de charger l'extension manquante sans afficher/consigner quoi que ce soit.

Il est également désactivé par défaut depuis PHP 4.0.3.

+0

Il n'essaie pas de charger l'extension, il appelle simplement l'une de ses fonctions. Ce qui n'existe pas lorsque l'extension n'est pas chargée. – Zr40