Il messaggio di errore “Could not determine temp directory, please specify a cache_dir manually” viene restituito da Zend Framework quando non è impostata o non è possibile scrivere nella directory per il salvataggio dei dati temporanei. Questo provoca chiaramente l’immediato crash dell’applicativo.
Per risolvere il problema è sufficiente inserire il seguente codice del file Bootstrap.php del nostro applicativo:
$frontend = array ('lifetime' => 345600, 'automatic_seralization' => true );
$backend = array ('cache_dir' => APPLICATION_PATH . '/cache/' );
$cache = Zend_Cache::factory('Core','File',$frontend,$backend);
$cache->setOption('automatic_serialization', true);
Zend_Locale::setCache($cache);
e creare all’interno della directory “application” la directory “cache“, rendendola scrivibile.
Il percorso della cartella “cache” lo possiamo modificare nella riga:
$backend = array ('cache_dir' => APPLICATION_PATH . '/cache/' );
Con questo tecnica sostazialmente siamo in grado di configurare il percorso della directory “cache” in modo che punti ad una directory contenuta nel tree della web application : in altre parole comunichiamo a Zend_Cache di usare una directory scrivibile all’interno dell’alberatura della nostra applicazione, rispettando i permessi imposti dal safe_mode attivo.