[script] Mise en cache des pages PHP
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
- DecibelMan
- WRInaute occasionnel

- Messages: 134
- Inscription: Dim Juil 10, 2005 14:36
Impeccable alors, c'est super ce code.
Donc je peux faire :
[ton code cache deb]
[mon pavé de php et autre javascript]
[ton code cache fin]
et donc les pages de pubs seront renouvellées
cool.
Donc je peux faire :
[ton code cache deb]
[mon pavé de php et autre javascript]
[ton code cache fin]
et donc les pages de pubs seront renouvellées
Toutefois si tu utilises un script PHP de rotation des bannières, la mise en cache annulera cette "rotation" justement.
Un script comme OpenX par exemple propose plusieurs méthodes d'inclusions : si tu utilises la méthode "PHP", ça coincera. Mais si tu utilises la méthode full Javascript comme le dit fandecine il n'y aura pas de soucis.
Un script comme OpenX par exemple propose plusieurs méthodes d'inclusions : si tu utilises la méthode "PHP", ça coincera. Mais si tu utilises la méthode full Javascript comme le dit fandecine il n'y aura pas de soucis.
Re: [script] Mise en cache des pages PHP
Bonsoir à tous
Alors, voici moi petit soucis avec la mise en cache... J'essaie désespérement de l'implementer sur mon forum, basé sur Punbb.
J'ai essayé jpcache et j'ai essayé le script de fandecine.
Les deux marchent nickel, la page est bien crée, appelée et affichée au besoin. J'arrive à ouvrir et lire manuellement les fichier cache, et j'ai fait un echo($time) et tout est juste à ce niveau là aussi.
Le problème, qui n'est pas un détail, c'est que toutes les requêtes continuent à être effectuées, ce qui fait que le cache, du coup, il sert à rien
J'ai retourné ça dans tous les sens, je n'arrive pas à comprendre.
Pour ceux qui connaissent, j'ai essayé de placer le début de la mise en cache juste après l'appel à common.php dans les fichier index.php et viewforum.php, pour voir si ça marche en un premier temps, en affichant le cache que pour les visiteurs non connectés, histoire que je puisse mettre toute la page en cache sans devoir à ce stade jouer avec ce qui est visible pour tout le monde et ce qui est "membre connecté".
J'ai essayé de le mettre en tout début de header.php, même problème, toutes les requêtes sont effectuées.
Est-ce que quelqu'un peut me donner une piste, ne fusse que sur la théorie, ce qui fait qu'un script s'exécute malgré le fait qu'au final il pond la page mis en cache?
Alors, voici moi petit soucis avec la mise en cache... J'essaie désespérement de l'implementer sur mon forum, basé sur Punbb.
J'ai essayé jpcache et j'ai essayé le script de fandecine.
Les deux marchent nickel, la page est bien crée, appelée et affichée au besoin. J'arrive à ouvrir et lire manuellement les fichier cache, et j'ai fait un echo($time) et tout est juste à ce niveau là aussi.
Le problème, qui n'est pas un détail, c'est que toutes les requêtes continuent à être effectuées, ce qui fait que le cache, du coup, il sert à rien
J'ai retourné ça dans tous les sens, je n'arrive pas à comprendre.
Pour ceux qui connaissent, j'ai essayé de placer le début de la mise en cache juste après l'appel à common.php dans les fichier index.php et viewforum.php, pour voir si ça marche en un premier temps, en affichant le cache que pour les visiteurs non connectés, histoire que je puisse mettre toute la page en cache sans devoir à ce stade jouer avec ce qui est visible pour tout le monde et ce qui est "membre connecté".
J'ai essayé de le mettre en tout début de header.php, même problème, toutes les requêtes sont effectuées.
Est-ce que quelqu'un peut me donner une piste, ne fusse que sur la théorie, ce qui fait qu'un script s'exécute malgré le fait qu'au final il pond la page mis en cache?
-

Patrice A. - Modérateur

- Messages: 2413
- Inscription: Ven Fév 11, 2005 19:36
Re: [script] Mise en cache des pages PHP
Si le script s'exécute quand meme, cela veut dire que cette simple ligne :
ne fonctionne pas comme prévu.
donc fais des tests.
Recharge plusieurs fois la page et vérifie que les résultats sont cohérents.
- Code: Tout sélectionner
@filemtime($fichierCache)<time()-(3600*24*360)
ne fonctionne pas comme prévu.
donc fais des tests.
- Code: Tout sélectionner
echo filemtime($fichierCache).'<br/>';
echo time()-(3600*24*360).'<br/>';
echo $fichierCache.'<br/>';
Recharge plusieurs fois la page et vérifie que les résultats sont cohérents.
Re: [script] Mise en cache des pages PHP
j'ai consulté le post de Fandecine sur la mise en cache, c'est très interressant.
Ma question concerne spécifiquement phpBB, je souhaite mettre sur mon forum fréquenté (+10.000 post /mois), un espace sur les nouveautés que propose mon site.
Si je créer une page php (non dynamique) que j'inclus entre la banniere du haut et le debut des posts faut t'il que je la mette en cache?
Ma question concerne spécifiquement phpBB, je souhaite mettre sur mon forum fréquenté (+10.000 post /mois), un espace sur les nouveautés que propose mon site.
Si je créer une page php (non dynamique) que j'inclus entre la banniere du haut et le debut des posts faut t'il que je la mette en cache?
Re: [script] Mise en cache des pages PHP
Mbwo, il me semblait ourtant d'avoir répondu cette après... enfin...
Merci beaucoup Patrice.
J'ai essayé de nouveau avec le script de Fandecine et ajoutant ce que tu avait noté.
Et... c'est le boxon. Selon l'endroit ou je place le code de cloture du buffer, le fichier cache est ecrit ou pas (et je parle de avant ou après un include de footer, rien de spécial à priori. Par contre il est toujours lu.
Si il est affiché, ça me donne une page blanche, alors que le fichier cache, lui, contient toute l'info correctement.
Certaines query sont exectutées quand même, maintenant je suis en train de les tester une par une pour savoir lesquelles, si c'est vraiment celles en cache ou pas, parce que visiblement il teste la connection à la db d'office, même si il fait rien....
A mon avis, il doit y avoir quelque chose qui s'ouvre dans un fichier et se cloture dans un autre, mais avec les templates header footer et autre includes à la pelle, j'ai du mal à m'y retrouver. Je continuerait ça demain. Mais si quelqu'un a des idées...
Merci beaucoup Patrice.
J'ai essayé de nouveau avec le script de Fandecine et ajoutant ce que tu avait noté.
Et... c'est le boxon. Selon l'endroit ou je place le code de cloture du buffer, le fichier cache est ecrit ou pas (et je parle de avant ou après un include de footer, rien de spécial à priori. Par contre il est toujours lu.
Si il est affiché, ça me donne une page blanche, alors que le fichier cache, lui, contient toute l'info correctement.
Certaines query sont exectutées quand même, maintenant je suis en train de les tester une par une pour savoir lesquelles, si c'est vraiment celles en cache ou pas, parce que visiblement il teste la connection à la db d'office, même si il fait rien....
A mon avis, il doit y avoir quelque chose qui s'ouvre dans un fichier et se cloture dans un autre, mais avec les templates header footer et autre includes à la pelle, j'ai du mal à m'y retrouver. Je continuerait ça demain. Mais si quelqu'un a des idées...
- voyagesnet
- WRInaute discret

- Messages: 64
- Inscription: Lun Juin 23, 2008 17:57
Re: [script] Mise en cache des pages PHP
bonsoir
est ce que la mise en cache des fichiers PHP peut provoquer des problémes au niveau de réferencement supposant qu'on va faire le mise à jour de ces fichiers par sémaine
est ce que la mise en cache des fichiers PHP peut provoquer des problémes au niveau de réferencement supposant qu'on va faire le mise à jour de ces fichiers par sémaine
- voyagesnet
- WRInaute discret

- Messages: 64
- Inscription: Lun Juin 23, 2008 17:57
Re: [script] Mise en cache des pages PHP
bonjour
comment je peux supprimer les fichiers mise en cache avec php
cordialement
comment je peux supprimer les fichiers mise en cache avec php
cordialement
- voyagesnet
- WRInaute discret

- Messages: 64
- Inscription: Lun Juin 23, 2008 17:57
Re: [script] Mise en cache des pages PHP
bnj
est t 'il possible de mise en cache de resultat d'un select
merci
est t 'il possible de mise en cache de resultat d'un select
merci
Re: [script] Mise en cache des pages PHP
Bonsoir a tous,
Je ne sais pas si cela a été cité. Mais smarty peut répondre a toutes vos questions. Le cache se gère au niveau template. Et il y a une mise en cache (Version html de la page). De plus smarty permet l'utilisation des balise {dynamic} ce qui permet ainsi de laissé dynamic une partie de la page comme un gestionnaire de bannière par exemple.
J'espère que mon post n'est pas hors sujet.
Bonne soiré a vous tous
Je ne sais pas si cela a été cité. Mais smarty peut répondre a toutes vos questions. Le cache se gère au niveau template. Et il y a une mise en cache (Version html de la page). De plus smarty permet l'utilisation des balise {dynamic} ce qui permet ainsi de laissé dynamic une partie de la page comme un gestionnaire de bannière par exemple.
J'espère que mon post n'est pas hors sujet.
Bonne soiré a vous tous
-

petitchevalroux - WRInaute occasionnel

- Messages: 108
- Inscription: Mer Mai 31, 2006 11:13
Re: [script] Mise en cache des pages PHP
mitus a écrit:Bonsoir a tous,
Je ne sais pas si cela a été cité. Mais smarty peut répondre a toutes vos questions. Le cache se gère au niveau template. Et il y a une mise en cache (Version html de la page). De plus smarty permet l'utilisation des balise {dynamic} ce qui permet ainsi de laissé dynamic une partie de la page comme un gestionnaire de bannière par exemple.
J'espère que mon post n'est pas hors sujet.
Bonne soiré a vous tous
Smarty est un moteur de template mais peut être que maintenant il fait aussi cache html, personnellement je ne connaissais pas cette fonctionnalité et je vois mal le rapport entre un moteur de template et un cache html mais pourquoi pas
-

Audiofeeline - WRInaute accro

- Messages: 5181
- Inscription: Jeu Oct 20, 2005 19:47
Re: [script] Mise en cache des pages PHP
J'ai un petit souci, j'obtiens un Parse error: syntax error, unexpected $end in /home/site/www/cache-start.php on line 8...
Dans mon fichier PHP j'ai ça :
Il doit y avoir quelque chose d'incompatible mais je n'arrive pas à bien comprendre...
Dans mon fichier PHP j'ai ça :
- Code: Tout sélectionner
<?php
$mb_handle = fopen("feed.xml", "rb");
$mb_flux = '';
if (isset($mb_handle) && !empty($mb_handle)) {
while (!feof($mb_handle)) {
$mb_flux .= fread($mb_handle, 4096);
}
$mb_RSS2Parser = simplexml_load_string($mb_flux);
$mb_racine = $mb_RSS2Parser->channel;
foreach($mb_racine ->item as $mb_element) {
$video_id = $mb_element->id;
$video_nom = $mb_element->nom_video;
$video_titre = $mb_element->petite_description;
$video_description = $mb_element->longue_description;
$video_taille = $mb_element->taille;
$video_duree = $mb_element->duree;
$video_scene = $mb_element->scene;
$video_img = $mb_element->meilleur_thumb;
echo '<div class="post">
<h2><a href="video-'.$video_id.'.html">'.$video_titre.'</a></h2>
<p class="postinfo">Durée : '.$video_duree.' | Taille du fichier : '.$video_taille.'Mo | Nom de fichier : '.$video_nom.'.mpg</p>
<p><img src="http://images/'.$video_nom.'/'.$video_scene.'/'.$video_img.'.jpg" class="alignleft" alt="'.$video_titre.'" title="'.$video_titre.'" />'.$video_description.'</p>
</div>';
if($i == 49) break;
$i++;
}
}
fclose($mb_handle);
?>
Il doit y avoir quelque chose d'incompatible mais je n'arrive pas à bien comprendre...
Re: [script] Mise en cache des pages PHP
petitchevalroux a écrit:mitus a écrit:Bonsoir a tous,
Je ne sais pas si cela a été cité. Mais smarty peut répondre a toutes vos questions. Le cache se gère au niveau template. Et il y a une mise en cache (Version html de la page). De plus smarty permet l'utilisation des balise {dynamic} ce qui permet ainsi de laissé dynamic une partie de la page comme un gestionnaire de bannière par exemple.
J'espère que mon post n'est pas hors sujet.
Bonne soiré a vous tous
Smarty est un moteur de template mais peut être que maintenant il fait aussi cache html, personnellement je ne connaissais pas cette fonctionnalité et je vois mal le rapport entre un moteur de template et un cache html mais pourquoi pas.
Et oui smarty peut metre directement en cache ton html. Il fonctionne avec 2 niveau de cache. Le premier consiste a convertir tes templates (combinaison de html avec du pseudo code smarty) vers des fichiers combinant le php finalle avec le html. Et le 2 eme niveau de cache m'est tes pages html finaux en cache.
Re: [script] Mise en cache des pages PHP
Cela a peut-être déjà été mentionné. J'avoue ne pas avoir lu les 16 pages de discussion ici.
Mais Zend Framework propose une solution de cache qui est pas mal.
http://framework.zend.com/manual/fr/zend.cache.html
Et une raison (de plus) d'utiliser un framework et pas de se contenter de librairies par ci, par la.
http://www.symfony-project.org/jobeet/1_2/Doctrine/en/22
Mais Zend Framework propose une solution de cache qui est pas mal.
http://framework.zend.com/manual/fr/zend.cache.html
Et une raison (de plus) d'utiliser un framework et pas de se contenter de librairies par ci, par la.
http://www.symfony-project.org/jobeet/1_2/Doctrine/en/22
Re: [script] Mise en cache des pages PHP
Smarty est un moteur de templates oui.
Ils ont dû intégrer le cache car c'est une usine à gaz, bcp de traitements (fichiers php de + de 700Ko !).
Ne pas utiliser Smarty, PHP est déjà un moteur de templates:
http://www.massassi.com/php/articles/template_engines/
Ils ont dû intégrer le cache car c'est une usine à gaz, bcp de traitements (fichiers php de + de 700Ko !).
Ne pas utiliser Smarty, PHP est déjà un moteur de templates:
http://www.massassi.com/php/articles/template_engines/
In short, the point of template engines should be to separate your business logic from your presentation logic, not separate your PHP code from your HTML code.
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Les albums web Picasa passent à 1 Go de stockage
- Le cache de Google : description, explications
- Photos satellite des incendies en Grèce dans Google Earth
- L'algorithme de Google en résumé (mars 2003)
- Ajouter un Gadget Google sur son site
- Google Desktop pour Mac OS X
- Picasa Web Albums en français
- Google Pack s'enrichit de 2 nouveaux logiciels gratuits
- Explications sur le Crawl Caching Proxy de Google
- Nouvel article : "Google en résumé"
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités



le forum