Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre à l'essai Avatar de erehcab
    Inscrit en
    avril 2007
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 215
    Points : 24
    Points
    24

    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 ....

  2. #2
    Membre à l'essai Avatar de erehcab
    Inscrit en
    avril 2007
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 215
    Points : 24
    Points
    24

    Par défaut

    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);
    	}

  3. #3
    Membre expérimenté
    Avatar de Nighty
    Homme Profil pro Lucas CORBEAUX
    CTO
    Inscrit en
    février 2003
    Messages
    252
    Détails du profil
    Informations personnelles :
    Nom : Homme Lucas CORBEAUX
    Âge : 31
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : CTO

    Informations forums :
    Inscription : février 2003
    Messages : 252
    Points : 562
    Points
    562

    Par défaut

    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é...

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •