[script] Mise en cache des pages PHP

voyagesnet
WRInaute discret
WRInaute discret
 
Messages: 64
Inscription: 23 Juin 2008

Re: [script] Mise en cache des pages PHP

Message le Ven Mar 20, 2009 10:00

bnj
est t 'il possible de mise en cache de resultat d'un select
merci


mitus
WRInaute discret
WRInaute discret
 
Messages: 57
Inscription: 17 Déc 2008

Re: [script] Mise en cache des pages PHP

Message le Mer Avr 08, 2009 23:07

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


petitchevalroux
WRInaute discret
WRInaute discret
 
Messages: 190
Inscription: 31 Mai 2006

Re: [script] Mise en cache des pages PHP

Message le Jeu Avr 09, 2009 9:16

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


Audiofeeline
WRInaute accro
WRInaute accro
 
Messages: 5257
Inscription: 20 Oct 2005

Re: [script] Mise en cache des pages PHP

Message le Lun Avr 13, 2009 15:39

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 :
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&eacute;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...


mitus
WRInaute discret
WRInaute discret
 
Messages: 57
Inscription: 17 Déc 2008

Re: [script] Mise en cache des pages PHP

Message le Mer Avr 29, 2009 10:37

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


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.


dmathieu
Modérateur
Modérateur
 
Messages: 7245
Inscription: 9 Jan 2004

Re: [script] Mise en cache des pages PHP

Message le Mer Avr 29, 2009 11:16

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


spout
WRInaute accro
WRInaute accro
 
Messages: 4110
Inscription: 14 Mai 2003

Re: [script] Mise en cache des pages PHP

Message le Mer Avr 29, 2009 11:49

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/

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.


Audiofeeline
WRInaute accro
WRInaute accro
 
Messages: 5257
Inscription: 20 Oct 2005

Re: [script] Mise en cache des pages PHP

Message le Mer Avr 29, 2009 12:12

Serais-je invisible ? :cry:


spout
WRInaute accro
WRInaute accro
 
Messages: 4110
Inscription: 14 Mai 2003

Re: [script] Mise en cache des pages PHP

Message le Mer Avr 29, 2009 16:00

Audiofeeline a écrit:Serais-je invisible ? :cry:

Je vois pas du tout l'erreur pour la ligne 8 8O , une erreur du type c'est souvent pr une accolade fermante manquante mais ton script semble bon.

A tout hazard c'est pas l'espace en trop avant "->" ici:
Code: Tout sélectionner
foreach($mb_racine ->item as $mb_element)

?


Audiofeeline
WRInaute accro
WRInaute accro
 
Messages: 5257
Inscription: 20 Oct 2005

Re: [script] Mise en cache des pages PHP

Message le Mer Avr 29, 2009 16:04

Je ne crois pas puisque ça fonctionne sans le cache. :/

gorchfock
WRInaute impliqué
WRInaute impliqué
 
Messages: 762
Inscription: 23 Oct 2006

Re: [script] Mise en cache des pages PHP

Message le Mar Mai 05, 2009 22:00

Audiofeeline a écrit:J'ai un petit souci, j'obtiens un Parse error: syntax error, unexpected $end in /home/site/www/cache-start.php on line 8...
...


Il semblerait qu'il manque une variable $end. Je ne vois pas cette variable dans ton code. Je vois que tu ouvres un fichier xml, l'erreur ne se situerait pas dans ce fichier ? Je dis ça parce que des fois quand j'ai une telle erreur c'est dans un autre fichier que je la trouve. En effet le numéro de ligne de l'erreur peut correspondre au numéro de ligne du fichier au complet c'est à dire si tu as fait appel à d'autres fichiers, par exemple un
Code: Tout sélectionner
<?php
include('header.php'); // 20 lignes de code
/* ici j'ai 15 ligne de code */
include('envoie_mail.php'); // 50 lignes
etc....
?>

que tu as un Parse error à la ligne 15 ben il y a de forte chance que l'erreur se trouvera dans le header.php même si le Parse Error t'affiche ligne 15 du fichier tartempion.php (c'est ce que j'ai constaté).

Je ne sais pas si ça peut t'aider...

Kijer
WRInaute discret
WRInaute discret
 
Messages: 133
Inscription: 9 Sep 2006

Re: [script] Mise en cache des pages PHP

Message le Mar Mai 05, 2009 22:22

Tu as essayé si ca vient pas de ton raccourci sans les { } dans
Code: Tout sélectionner
      if($i == 49) break;


?

kimkaphman
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 24
Inscription: 21 Sep 2005

Re: [script] Mise en cache des pages PHP

Message le Lun Mai 18, 2009 16:25

Bonjour.
J'utilise ce script pour mon site et j'en suis très content. :wink:

Il y à juste une chose que je n'arrive pas à faire.
J'ai une page qui doit rester dynamique et je ne sais pas comment faire pour ne pas qu'il ne soit pas mis en cache.
Pourtant je sais que ça doit être facile mais bon, j'ai beau tester des if() ici et la, rajouter des parametres à
Code: Tout sélectionner
if (@filemtime($fichierCache)<time()-(3600*24*360))
mais rien n'y fait.
Je suis pas un pro du php, loin de là, je me débrouille c'est tout mais cette fois, je crois que j'ai besoin d'aide. :(

Edit: C'est bon j'ai trouvé tout seul. :P
J'ai placé des if() au bon endroit :
Code: Tout sélectionner
if($page != "sitemap.html") {
   ob_start(); // on démarre la bufferisation de la page: rien de ce qui suit n'est envoyé au navigateur
   }

et
Code: Tout sélectionner
if($page != "sitemap.html") {
   $contenuCache = ob_get_contents(); // on recuperre le contenu du buffer
   ob_end_flush();// on termine la bufferisation
   
   $fd = fopen("$fichierCache", "w"); // on ouvre le fichier cache
   if ($fd) {
      fwrite($fd,$contenuCache); // on ecrit le contenu du buffer dans le fichier cache
      fclose($fd);
               }
                                         }


MTroy
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 19
Inscription: 12 Juil 2009

Re: [script] Mise en cache des pages PHP

Message le Mer Juil 15, 2009 23:54

Juste comme ça, pour la suppression du cache utilisez plutot unlink !
plus court, plus rapide, plus léger que de faire des appel ftp à chaque fichier rencontré.

Et pour faire encore plus simple, on peut aisément remplacer ob_*
par file_get_contents en s'assurant bien sur de la validité des chemins des images,
(après tout dépend ou est placé le système de mise en cache)
quoi que.. y a toujours moyen de d'appliquer un petit str_replace avec http://...

kitten13
WRInaute discret
WRInaute discret
 
Messages: 213
Inscription: 30 Avr 2007

Re: [script] Mise en cache des pages PHP

Message le Ven Juil 17, 2009 13:03

lol les vieilles méthode alors en quelque ligne voici comment créer un système de cache le plus simplement du monde:

http://www.journaldunet.com/developpeur/tutoriel/php/060515-php-cache- ... ur-2.shtml

;)

[script] Mise en cache des pages PHP [script] Mise en cache des pages PHP

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités