Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 10-03-2014 13:12:11

romsVLM
Membre
Date d'inscription: 23-01-2014
Messages: 89

Mettre son site en cache avec APC

Bonjour,

Mon site étant maintenant casiment fini, j'aimerai mettre en place un système de cache APC.

Celui ci doit mettre en cache :
    - les fichiers de mes 3 modules : Front, Admin, et Custom
    - les fichiers du framework (positionnés dans vendor)

J'ai donc téléchargé et installé APC.

Ensuite dans mon module Front, j'ajoute ceci dans le fichier config/module.config.php :

Code:

 
    'apc' => array(
        'adapter' => 'apc',
        'plugins' => array(
            'exception_handler' => array('throw_exceptions' => false),
        ),
        'options' => array(
            'cache_dir' => realpath(__DIR__ .'/../../data/cache'),            
        ),
    ),

Ensuite j'ajoute ceci dans la méthode onBootstrap(MvcEvent $e) du fichier Module.php :

Code:

        $sm = $e->getApplication()->getServiceManager();
        $config = $sm->get('Config');

        $cache = StorageFactory::factory($config['apc']);

sans oublier ceci en début de fichier :

Code:

use Zend\Cache\StorageFactory;

Je vais ensuite me balader sur le site afin de créer du cache, et je rafraichi mon dossier data/cache.
Or celui-ci reste toujours vide.

Pourquoi ?

Merci de votre aide !

Hors ligne

 

#2 11-03-2014 10:43:10

romsVLM
Membre
Date d'inscription: 23-01-2014
Messages: 89

Re: Mettre son site en cache avec APC

Personne ?

Hors ligne

 

#3 11-03-2014 10:57:02

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: Mettre son site en cache avec APC

Non désolé jamais utilisé, je peu que te renvoyer sur la doc :

http://framework.zend.com/manual/2.0/en … apter.html
(mais tu a déjà du le faire ^^)

Alors peu être aura tu des infos supplémentaire ici:
https://zf2.readthedocs.org/en/release- … apter.html

Hors ligne

 

#4 11-03-2014 11:32:32

romsVLM
Membre
Date d'inscription: 23-01-2014
Messages: 89

Re: Mettre son site en cache avec APC

Oui j'ai fais comme dans la doc, et celle ci est assez vague, elle manque d'exemple..

Hors ligne

 

#5 11-03-2014 11:48:28

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: Mettre son site en cache avec APC

Tu a pas une erreur qui s'affiche lorsque tu parcours ton site?

Si tu met ta ligne d'exception à true:

Code:

 exception_handler' => array('throw_exceptions' => TRUE),

tu aura peut être un indice ^^

Hors ligne

 

#6 11-03-2014 12:37:13

romsVLM
Membre
Date d'inscription: 23-01-2014
Messages: 89

Re: Mettre son site en cache avec APC

Non rien n'a changé

Hors ligne

 

#7 11-03-2014 12:44:45

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: Mettre son site en cache avec APC

Oki,
Alors désolé sans erreur je vais pas pouvoir t'aider plus ^^'
J'espère que quelqu'un qui s'y connait passera par la smile

Dernière modification par flobrflo (11-03-2014 12:45:08)

Hors ligne

 

#8 11-03-2014 12:56:29

romsVLM
Membre
Date d'inscription: 23-01-2014
Messages: 89

Re: Mettre son site en cache avec APC

Merci d'avoir essayé, je continu à chercher le temps que quelqu'un d'autre réponde

Hors ligne

 

#9 11-03-2014 13:19:13

romsVLM
Membre
Date d'inscription: 23-01-2014
Messages: 89

Re: Mettre son site en cache avec APC

j'ai trouvé ceci qui fonctionne, mais c'est du code Zend Framework 1 sad

Code:

    protected function _initCache()
    {
        $dir = cache;

        $frontendOptions = array(
                'lifetime' => 3600,
                'content_type_memorization' => true,
                'default_options' => array(
                        'cache' => true,
                        'cache_with_get_variables' => true,
                        'cache_with_post_variables' => true,
                        'cache_with_session_variables' => true,
                        'cache_with_cookie_variables' => true,
                 ),
                
                'regexps' => array(
                // cache the whole IndexController
                '^/.*' => array('cache' => true),
                '^/index/' => array('cache' => true),
                '^/page/' => array('cache' => true),
                '^/search/' => array('cache' => true),
                '^/logout/' => array('cache' => true),
                // place more controller links here to cache them
                )
       );
                
       $backendOptions = array( 'cache_dir' =>$dir );
       
       // getting a Zend_Cache_Frontend_Page object
       $cache = Zend_Cache::factory('Page', 'File', $frontendOptions, $backendOptions);
       $cache->start();
    }

Hors ligne

 

#10 11-03-2014 13:54:46

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: Mettre son site en cache avec APC

Dans quel fichier tu met cela? smile
(un petit résumé pour ceux qui chercherait? ^^)

Hors ligne

 

#11 11-03-2014 14:09:52

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Mettre son site en cache avec APC

Je pense que tu mets ça dans le onBootstrap wink. A mon avis il y a beaucoup plus propre faudrait que tu regardes sur les blog d'akrabat, mwop, evanDotPro etc ... Ils ont sûrement fait un article là dessus.

Hors ligne

 

#12 11-03-2014 15:41:40

romsVLM
Membre
Date d'inscription: 23-01-2014
Messages: 89

Re: Mettre son site en cache avec APC

La méthode _initCache() est dans le Bootsrap.

Par contre s'était du code qui provient de Zend Framework 1.

Moi j'aimerai faire marcher le code du ZF2 , que j'ai posté dans mon tout premier post

Hors ligne

 

#13 11-03-2014 16:28:54

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Mettre son site en cache avec APC

Normalement ça ne devrait pas marcher pour ZF2 les méthodes init n'existent plus ...

Hors ligne

 

#14 11-03-2014 16:30:23

romsVLM
Membre
Date d'inscription: 23-01-2014
Messages: 89

Re: Mettre son site en cache avec APC

Non non quand je dis que ça marche, s'était sur un ancien projet sur le ZF1.

Hors ligne

 

#15 11-03-2014 16:32:27

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Mettre son site en cache avec APC

Ah oui d'accord, ben là je saurais pas te dire, essaie de regarder sur les blogs si tu vois quelque chose ou sur irc. J'ai pas utilisé apc avec le ZF2 donc pas simple pour t'aider :s

Hors ligne

 

#16 11-03-2014 16:44:35

romsVLM
Membre
Date d'inscription: 23-01-2014
Messages: 89

Re: Mettre son site en cache avec APC

Ok merci, et y a t-il un autre moyen pour mettre son site en cache (autre que APC) ?

Hors ligne

 

#17 11-03-2014 17:18:43

romsVLM
Membre
Date d'inscription: 23-01-2014
Messages: 89

Re: Mettre son site en cache avec APC

Bon j'ai trouvé un code qui fonctionne :

Code:

        $cache = \Zend\Cache\StorageFactory::factory(array(
                'adapter' => array(
                        'name' => 'filesystem',
                        'options' => array('cache_dir'=> realpath(__DIR__ .'/../../data/cache'))
                ),
                'plugins' => array(
                        'exception_handler' => array('throw_exceptions' => false),
                ),
        ));
        $cache->addItem('ma-cle','ma valeur');

Ca me créer un dossier "zfcache-99" dans le dossier "data/cache", avec à l'intérieur un fichier "zfcache-ma-cle.dat" avec à l'intérieur le texte : "ma-valeur".

Que dois je faire pour y mettre le zend framework et les fichiers de mon site ?

Hors ligne

 

#18 11-03-2014 17:54:08

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Mettre son site en cache avec APC

Avec APC tu as aussi une configuration côté serveur à faire. Normalement il met lui aussi des choses automatiquement en cache et tu as un boolean à mettre à 0 ou 1 en fonction de si tu veux qu'apc vérifie si le fichier a été modifié depuis le cache ou non. Donc en mettant toutes les vérifs à non tu devrais gagner pas mal niveau perf.

Hors ligne

 

#19 03-12-2014 12:53:43

maysa
Nouveau membre
Date d'inscription: 03-12-2014
Messages: 1

Re: Mettre son site en cache avec APC

romsVLM , est ce que vous avez réussi à configurer apc pour zend framework 2 ? merci.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages