Get Smarty

Donate

Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

Chapter 17. Diagnostic des erreurs

Table of Contents

Erreurs Smarty/PHP

Erreurs Smarty/PHP

Smarty peut identifier de nombreuses erreurs comme des attributs de balises manquants ou de noms de variables malformés. Dans ce cas-là, vous verrez apparaître une erreur semblable à :

Example 17.1. erreurs Smarty


Warning: Smarty: [in index.tpl line 4]: syntax error: unknown tag - '%blah'
in /path/to/smarty/Smarty.class.php on line 1041

Fatal error: Smarty: [in index.tpl line 28]: syntax error: missing section name
in /path/to/smarty/Smarty.class.php on line 1041

   

Smarty vous indique le nom du template, le numéro de la ligne et l'erreur. Après cela, vous pouvez connaître le numéro de ligne où il y a eu erreur dans la définition de la classe Smarty.

Il y a certaines erreurs que Smarty ne peut pas détecter, comme les balises fermantes manquantes. Ce type d'erreurs est la plupart du temps repéré dans la phase de compilation PHP du template compilé.

Example 17.2. Erreur d'analyse PHP


Parse error: parse error in /path/to/smarty/templates_c/index.tpl.php on line 75

   

Quand vous rencontrez une erreur d'analyse PHP, le numéro de la ligne indiqué est celui du fichier PHP compilé et non du template. Vous pouvez alors regarder le template et détecter l'erreur. Voici quelques erreurs fréquentes : balises fermantes pour {if}{/if} ou {section}{/section} manquantes, ou syntaxe logique incorrecte dans une instruction {if}. Si vous ne trouvez pas l'erreur, vous devrez alors ouvrir le fichier PHP compilé et aller à la ligne correspondante pour trouver d'où vient l'erreur.

Example 17.3. Autres erreurs communes


Warning: Smarty error: unable to read resource: "index.tpl" in...
ou
Warning: Smarty error: unable to read resource: "site.conf" in...

   

  • Le dossier $template_dir est incorrect, n'existe pas ou le fichier the file index.tpl n'est pas dans le dossier templates/.

  • Une fonction {config_load} est dans un template (ou config_load() a été appelé) et soit $config_dir est incohérent, n'existe pas, ou site.conf n'est pas dans le dossier.

    
             Fatal error: Smarty error: the $compile_dir 'templates_c' does not exist,
             or is not a directory...
             
   
  • Soit le dossier $compile_dir n'est pas correctement défini, le dossier n'existe pas, ou templates_c est un fichier et non un dossier.

    
             Fatal error: Smarty error: unable to write to $compile_dir '....
             
   

Fatal error: Smarty error: the $cache_dir 'cache' does not exist,
or is not a directory. in /..

   
  • Cela signifie que $caching est activé et soit le dossier $cache_dir n'est pas correctement défini, le dossier n'existe pas, ou cache est un fichier et non un dossier.


Fatal error: Smarty error: unable to write to $cache_dir '/...

   

Voir aussi le débogage, $error_reporting et trigger_error().

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors