Smarty/PHP errors
    Smarty can catch many errors such as missing tag attributes
    or malformed variable names. If this happens, you will see an error
    similar to the following:
   
| Example 17-1. Smarty errors | 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 shows you the template name, the line number and the error.
    After that, the error consists of the actual line number in the Smarty
    class that the error occured.
   
    There are certain errors that Smarty cannot catch, such as missing
    close tags. These types of errors usually end up in PHP compile-time
    parsing errors.
   
| Example 17-2. PHP parsing errors | Parse error: parse error in /path/to/smarty/templates_c/index.tpl.php on line 75 | 
 | 
    When you encounter a PHP parsing error, the error line number will
    correspond to the compiled PHP script, not the template itself. Usually
    you can look at the template and spot the syntax error. Here are some
    common things to look for: missing close tags for
    {if}{/if} or
    {section}{/section},
    or syntax of logic within an {if} tag. If you
    can't find the error, you might have to open the compiled PHP file and
    go to the line number to figure out where the corresponding error is in
    the template.
   
| Example 17-3. Other common errors | Warning: Smarty error: unable to read resource: "index.tpl" in...
or
Warning: Smarty error: unable to read resource: "site.conf" in... | 
 
     
      The $template_dir
      is incorrect, doesn't exist or
      the file index.tpl is not in the
      templates/ directory
      
        A {config_load}
        function is within a template (or
        config_load()
        has been called) and either
        $config_dir
        is incorrent , does not exist or
        site.conf is not in the directory.
        
| Fatal error: Smarty error: the $compile_dir 'templates_c' does not exist,
or is not a directory... | 
 
    Either the
    $compile_dir
    is incorrectly set, the directory does not exist,
    or templates_c is a
    file and not a directory.
    | Fatal error: Smarty error: unable to write to $compile_dir '.... | 
 
    The $compile_dir
    is not writable by the web server. See the bottom of the
    installing smarty page
    for permissions.
    | Fatal error: Smarty error: the $cache_dir 'cache' does not exist,
or is not a directory. in /.. | 
 
    This means that
    $caching is enabled and either;
    the
    $cache_dir
    is incorrectly set, the directory does not exist,
    or cache is a
    file and not a directory.
    | Fatal error: Smarty error: unable to write to $cache_dir '/... | 
 
    This means that
    $caching is enabled and the
    $cache_dir
    is not writable by the web server. See the bottom of the
    installing smarty page
    for permissions.
    
 | 
   See also
   debugging,
   $error_reporting
   and
   trigger_error().