Précédent   Forum des professionnels en informatique > PHP > Outils > Zend
Zend Le forum sur les solutions et la certification Zend. Avant de poster : FAQ Zend, toutes les FAQ PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/05/2011, 15h55   #1
Membre à l'essai
 
Avatar de erehcab
 
Inscription : avril 2007
Messages : 193
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 193
Points : 23
Points : 23
Par défaut Exception provoquée par Zend_Date chez OVH en mutualisé

Bonjour à tous,

Je viens de faire une mise en ligne d'un projet Zend sur un mutualisé OVH et à ma grande surprise il m'affiche une exception provoqué par l'utilisation du composant Zend_Date me disant :

Could not determine temp directory, please specify a cache_dir manually

Pourtant je n'utilise pas le Zend_Cache et en local tout fonctionne parfaitement.

Si quelqu'un sait comment régler ce problème je suis preneur, ça fait trois heures que je rame dessus ....
erehcab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 17h18   #2
Membre à l'essai
 
Avatar de erehcab
 
Inscription : avril 2007
Messages : 193
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 193
Points : 23
Points : 23
J'ai résolu ce problème en initialisant un cache dans mon bootstrap :

Code :
1
2
3
4
5
6
7
8
9
 
protected function _initCache()
	{
        $aFrontendConf = array ('lifetime' => 345600, 'automatic_seralization' => true);
        $aBackendConf = array ('cache_dir' => APPLICATION_PATH . '/cache/');
        $oCache = Zend_Cache::factory('Core','File',$aFrontendConf,$aBackendConf);
        $oCache->setOption('automatic_serialization', true);
        Zend_Locale::setCache($oCache);
    }
Je suis quand même ,assé étonné de devoir obligatoirement créer un cache pour que Zend_Date fonctionne ...

Par ailleur, je pensais que c'était lié mais non, l'initialisation dans mon bootstrap du fichier de traduction des messages d'erreur en provenances de formulaire ne fonctionne pas ...

Je vous affiche la méthode ou je l'initialise, si quelqu'un à une piste je suis preneur !

Code :
1
2
3
4
5
6
7
8
9
10
 
public function _initTranslate()
	{
		$locale = new Zend_Locale('fr');
		Zend_Registry::set('Zend_Locale', $locale);
		$translate = new Zend_Translate('Gettext', APPLICATION_PATH . '/languages/lang_fr.mo', 'fr');
		Zend_Registry::set('Zend_Translate', $translate);
		$translateForm = new Zend_Translate('array', APPLICATION_PATH . '/languages/validate.php', 'fr');
		Zend_Validate_Abstract::setDefaultTranslator($translateForm);
	}
erehcab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/05/2011, 13h35   #3
Membre confirmé
 
Avatar de Nighty
 
Homme Lucas CORBEAUX
Chef de projet MOE
Inscription : février 2003
Messages : 158
Détails du profil
Informations personnelles :
Nom : Homme Lucas CORBEAUX
Âge : 28
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet MOE

Informations forums :
Inscription : février 2003
Messages : 158
Points : 291
Points : 291
C'est Zend_Locale qui se sert d'un cache par défaut et qui provoque ton exception, tu peux voir le comportement concernée dans la classe Zend_Locale_Data, utilisée par Zend_Locale :

http://framework.zend.com/svn/framew...ocale/Data.php

Celle-ci propose une méthode (statique) disableCache(boolean) qui te permet de la désactiver si tu le souhaites, donc tu peux désactiver le cache depuis ton bootstrap, et il y a peut être un équivalent pour le configurer dans ton application.ini.

Visiblement le comportement est que si aucun Cache n'est fournis, par défaut la classe se créé son propre cache fichier dans le dossier par défaut, ce qui n'est pas du goût d'un serveur mutualisé...
Nighty est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h13.


 
 
 
 
Partenaires

Hébergement Web