Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour, j'essaye de faire ce code (simple) :
$sValue = new Zend_Date(); $sValue->get(Zend_Date::DATETIME_FULL)
J'ai deux serveur mutualisés chez maven hosting, ce code marche sans problème sur l'un,
mais cela m'éclate un erreur sur l'autre:
(Version de ZF : 1.11.3)
Could not determine temp directory, please specify a cache_dir manually
#0 /home/fermeesc/public_html/frameworks/Zend/Cache/Backend.php(202): Zend_Cache::throwException('Could not deter...')
#1 /home/fermeesc/public_html/frameworks/Zend/Cache/Backend/File.php(123): Zend_Cache_Backend->getTmpDir()
#2 /home/fermeesc/public_html/frameworks/Zend/Cache.php(153): Zend_Cache_Backend_File->__construct(Array)
#3 /home/fermeesc/public_html/frameworks/Zend/Cache.php(94): Zend_Cache::_makeBackend('File', Array, false, false)
#4 /home/fermeesc/public_html/frameworks/Zend/Locale/Data.php(940): Zend_Cache::factory('Core', 'File', Array, Array)
#5 /home/fermeesc/public_html/frameworks/Zend/Date.php(879): Zend_Locale_Data::getContent('fr', 'datetime', Array)
#6 /home/fermeesc/public_html/frameworks/Zend/Date.php(580): Zend_Date->_parseIsoToDate('KKKKK', 'fr')
#7 /home/fermeesc/public_html/frameworks/Zend/Date.php(546): Zend_Date->_toToken('KKKKK', 'fr')
#8 /home/fermeesc/public_html/application/modules/backend/controllers/UserController.php(52): Zend_Date->get('KKKKK')
#9 /home/fermeesc/public_html/frameworks/Zend/Controller/Action.php(513): Backend_UserController->indexAction()
#10 /home/fermeesc/public_html/frameworks/Zend/Controller/Dispatcher/Standard.php(295): Zend_Controller_Action->dispatch('indexAction')
#11 /home/fermeesc/public_html/frameworks/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#12 /home/fermeesc/public_html/frameworks/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch()
#13 /home/fermeesc/public_html/application/Bootstrap.php(6): Zend_Application_Bootstrap_Bootstrap->run()
#14 /home/fermeesc/public_html/frameworks/Zend/Application.php(366): Bootstrap->run()
#15 /home/fermeesc/public_html/public/index.php(23): Zend_Application->run()
#16 {main}
Je suis à la recherche d'informations qui pourraient parvenir à me faire comprendre quelle est la cause de ce problème.
Merci d'avance pour vos réponses.
Dernière modification par neilime (14-02-2011 13:46:35)
Hors ligne
Hello,
Tu n'as pas associé de Zend_Cache à Zend_Date donc il en crée un automatiquement de type File avec un cacheDir sur /tmp.
Si tu n'as pas les droits sur /tmp cela donne ton message.
Pour corriger, crées toi un répertoire tmp dan ton arbo, initialises un Zend_Cache de type File avec un cache-dir qui pointe sur ce dossier => plus d'infos : http://doczf.mikaelkael.fr/1.11/en/zend … kends.file
@+
Hors ligne
Merci pour ta réponse,
Tu me conseillerai plutôt d'étendre Zend_Cache_Backend et la fonction getTmpDir ou définir le cacheDir du Zend_Cache_Backend dans le bootstrap
Si la meilleure solution est la deuxième ou aucune des deux, j'aimerai un peu d'exemples, car malgré avoir parcouru la doc à ce sujet et lu quelques tutos sur la gestion du cache, je me retrouve un peu perdu.
Hors ligne
Bon je l'ai implémenté dans le bootstrap de cette façon, est ce que c'est une bonne manière ?
protected function _initCache(){ $aFrontendConf = array (lifetime => 345600, automatic_seralization => true); $aBackendConf = array ('cache_dir' => DATA_PATH.'/cache/'); $oCache = Zend_Cache::factory('Core','File',$aFrontendConf,$aBackendConf); $oCache->setOption('automatic_serialization', true); Zend_Locale::setCache($oCache); }
Dernière modification par neilime (13-02-2011 12:00:35)
Hors ligne
C'est en gros comme cela que je fais moi aussi.
Hors ligne
Bonjour,
Doit on mettre en place une tâche CRON ou quelquechose du genre pour vider régulièrement le cache et éviter d'afficher des donnés erronées aux utilisateurs ?
Hors ligne
Pages: 1