Ciao a tutti,
qualcuno sa dirmi se devo osservare accorgimenti particolari per far girare un programma PHP che utilizza smarty?

in locale funziona tutto ma sul server ho il seguente errore:
Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/components/templates/login_page.tpl) is not within the allowed path(s): (/usr/local/psa/home/vhosts/nomedominio.it/httpdocs:/tmp) in /usr/local/psa/home/vhosts/nomedominio.it/httpdocs/prova/miacartella/libs/smartylibs/Smarty.class.php on line 1510

il file login.php e i file di smarty sono nella cartella prova/miacartella

La funzionze interessata è questa:
Codice PHP:
    function _parse_resource_name(&$params) {
        
        
// split tpl_path by the first colon
        
$_resource_name_parts explode ':'$params ['resource_name'], );
        
        if (
count $_resource_name_parts ) == 1) {
            
// no resource type given
            
$params ['resource_type'] = $this->default_resource_type;
            
$params ['resource_name'] = $_resource_name_parts [0];
        } else {
            if (
strlen $_resource_name_parts [0] ) == 1) {
                
// 1 char is not resource type, but part of filepath
                
$params ['resource_type'] = $this->default_resource_type;
                
$params ['resource_name'] = $params ['resource_name'];
            } else {
                
$params ['resource_type'] = $_resource_name_parts [0];
                
$params ['resource_name'] = $_resource_name_parts [1];
            }
        }
        
        if (
$params ['resource_type'] == 'file') {
            if (! 
preg_match '/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/'$params ['resource_name'] )) {
                
// relative pathname to $params['resource_base_path']
                // use the first directory where the file is found
                
foreach ( ( array ) $params ['resource_base_path'] as $_curr_path ) {
                    
$_fullpath $_curr_path DIRECTORY_SEPARATOR $params ['resource_name'];
                    if (
file_exists $_fullpath ) && is_file $_fullpath )) {
                        
$params ['resource_name'] = $_fullpath;
                        return 
true;
                    }
                    
// didn't find the file, try include_path
                    
$_params = array ('file_path' => $_fullpath );
                    require_once (
SMARTY_CORE_DIR 'core.get_include_path.php');
                    if (
smarty_core_get_include_path $_params$this )) {
                        
$params ['resource_name'] = $_params ['new_file_path'];
                        return 
true;
                    }
                }
                return 
false;
            } else {
                
/* absolute path */
                
return file_exists $params ['resource_name'] );
            }
        } elseif (empty ( 
$this->_plugins ['resource'] [$params ['resource_type']] )) {
            
$_params = array ('type' => $params ['resource_type'] );
            require_once (
SMARTY_CORE_DIR 'core.load_resource_plugin.php');
            
smarty_core_load_resource_plugin $_params$this );
        }
        
        return 
true;
    } 
credo che il problema sia sul contenuto di fullpath che è valorizzata a:
/components/templates/login_page.tpl

i file di smarty e dell'esempio sono organizzati così:
miacartella/cartella components
miacartella/cartella database_engine
miacartella/cartella images
miacartella/cartella libs
miacartella/cartella template_c
miacartella/file login.php
ecc.

io lancio login.php ma la funzione riportata sopra non raggiunge il file '/components/templates/login_page.tpl'

spero di essere stato chiaro

Grazie