Smarty si lamenta delle autorizzazioni. Ho scritto un piccolo framework in mvc per un progetto su cui sto lavorando e ho bisogno di essere in grado di renderizzare i template in ogni controller. Sono andato avanti e ho seguito le istruzioni di installazione di Smarty, e ho impostato tutte le opzioni di configurazione nel mio "front controller", o nella pagina che indirizza le richieste al resto dell'applicazione. La funzione testinstall dice che tutto è kosher, eppure quando tento di renderizzare i template nei miei controller, finisco con questo.Problemi di autorizzazioni Smarty
012.351.Attenzione: mkdir(): Permesso negato in /var/www/HRTRL/includes/CallLog/lib/Smarty/libs/sysplugins/smarty_internal_write_file.php on line 28 Warning: rename (/ tmp/. wrt6piczo,/templates_c/73b1662b4c376f493278f9873564df03430a0b43.file.poopy.tpl.php): Nessun file o directory in /var/www/HRTRL/includes/CallLog/lib/Smarty/libs/sysplugins/smarty_internal_write_file.php on line 48 Avviso: chmod(): Nessun file o /var/www/HRTRL/includes/CallLog/lib/Smarty/libs/sysplugins/smarty_internal_write_file.php on line 50 includono (./ templates_c/73b1662b4c376f493278f9873564df03430a0b43.file.poopy.tpl.php): non è riuscito ad aprire flusso: Nessun file o directory in /var/www/HRTRL/includes/CallLog/lib/Smarty/libs/sysplugins /smarty_internal_template.php on line 423 Warning: include(): Failed apertura './templates_c/73b1662b4c376f493278f9873564df03430a0b43.file.poopy.tpl.php' per l'inclusione (include_path ='.:/usr/share/php:/usr/share/pear ') in /var/www/HRTRL/includes/CallLog/lib/Smarty/libs/sysplugins/smarty_internal_template.php on line 423
Ho testato il resto del mio framework indipendentemente e tutto sembra funzionare. Il mio "front controller" indirizza correttamente le richieste ai controller corretti, e mi sembra di essere in grado di rendere l'HTML normale bene.
Inoltre, ho acquisito tutte le cartelle della libreria Smarty e le altre directory richieste su 777 solo per motivi di test. Sto ancora ricevendo gli stessi errori di autorizzazione.
EDIT
Queste sono le impostazioni che ho usato per tutte le cartelle Smarty richiesti.
$smarty->setTemplateDir('lib/smarty/templates');
$smarty->setCompileDir('lib/smarty/templates_c');
$smarty->setCacheDir('lib/smarty/cache');
$smarty->setConfigDir('lib/smarty/configs');
Perché vuoi utilizzare Smarty? Perché non usare solo PHP stesso (e risparmiarti da questi fastidi)? – ircmaxell
Il risultato finale deve essere di design. Probabilmente non progetterò personalmente tutti i punti di vista. –
A cosa è stato impostato smarty compile_dir? Il server Web ha le autorizzazioni per scrivere lì? – James