Require mais exécution séparé

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


Julia41
WRInaute impliqué
WRInaute impliqué
 
Messages: 482
Inscription: Ven Aoû 31, 2007 21:17

Require mais exécution séparé

Message le Ven Aoû 22, 2008 2:56

Alors un exemple vaut mieux qu'un grand discours :

index.php
Code: Tout sélectionner
<?php
echo "blabla";
require_once("une_page_qui_est_la_meme_pour_tous_mes_membres.php");
echo "Je suis un nul en php";
require_once("footer.php");
?>


une_page_qui_est_la_meme_pour_tous_mes_membres.php
Code: Tout sélectionner
<?php
eaccelerator_cache_page('cette_page_doit_etre_mise_en_cache, 7200);
$sql = mysql_query("SELECT benchmark(100000000,1+2)");
?>


Bon, le fichier avec le SQL Benchmark est juste pour montrer. Mais le problème, est que le require_once va executer toute la page (y compris la variable eaccelerator_cache_page) et donc cachera entièrement la page index.php (avec nom d'utilisateur etc...)..

En résumé, comment éxecuter 2 pages PHP différentes puis les "recoller"... Les 2 pages ont besoin d'être interprétés séparément, mais affichées ensemble... Pour l'instant la meilleur technique que j'ai trouvé serait un iframe ^^ alors bon ^^


Bool
WRInaute accro
WRInaute accro
 
Messages: 1290
Inscription: Jeu Fév 26, 2004 15:59

Message le Ven Aoû 22, 2008 8:18

Hello,

c'est très "simple" : n'utilises pas cette fonction d'eAccelerator, qui n'est pas adaptée à ton besoin.

Tu peux te faire un système "maison" à coup de : eaccelerator_get() / echo / ob_start() / ob_get_contents() / eaccelerator_set() / ob_end_flush()

Ou encore : readfile() / ob_start() / ob_get_contents() / file_put_contents() / rename() / ob_end_flush()


Julia41
WRInaute impliqué
WRInaute impliqué
 
Messages: 482
Inscription: Ven Aoû 31, 2007 21:17

Message le Ven Aoû 22, 2008 8:34

Hum, je trouvais cette fonction géniale et j'ai pris l'exemple d'eaccelerator, mais c'était une question que je m'étais déjà posé pour d'autres cas...

Donc oui pour ces autres fonctions que je me sers pour des parties bien spécifiques, mais je n'ai pas eu de réponse à d'autres cas :p


Bool
WRInaute accro
WRInaute accro
 
Messages: 1290
Inscription: Jeu Fév 26, 2004 15:59

Message le Ven Aoû 22, 2008 8:38

La seule façon de faire vraiment une exécution séparée c'est de lancer un processus différent (à coup d'exec() ou via un appel HTTP par exemple)... chose qui au final sera souvent beaucoup plus lent que de faire le traitement en question.

Tu peux aussi jouer avec le SSI, mais le problème risque d'être le même.


Julia41
WRInaute impliqué
WRInaute impliqué
 
Messages: 482
Inscription: Ven Aoû 31, 2007 21:17

Message le Ven Aoû 22, 2008 9:00

Vraiment bizarre qu'il y ait pas une fonction php pour faire ça...

Bon, je vais fouiner mais j'étais persuadé que j'avais zappé quelque chose...

Merci ;)


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 :



Qui est en ligne

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