Require mais exécution séparé
5 messages
• Page 1 sur 1
-

Julia41 - WRInaute passionné

- Messages: 1736
- Inscription: 31 Aoû 2007
Require mais exécution séparé
Alors un exemple vaut mieux qu'un grand discours :
index.php
une_page_qui_est_la_meme_pour_tous_mes_membres.php
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 ^^
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 passionné

- Messages: 1290
- Inscription: 26 Fév 2004
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()
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 passionné

- Messages: 1736
- Inscription: 31 Aoû 2007
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
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 passionné

- Messages: 1290
- Inscription: 26 Fév 2004
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.
Tu peux aussi jouer avec le SSI, mais le problème risque d'être le même.
5 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Sous domaine = site séparé ?
- Code Adsense dans un fichier séparé
- un require = un hit ?
- Réferencer un nom de marque séparé par un trait d'union
- Fonction require, juste ou pas?
- google analytics - mots clés séparé par +
- require php empecherait il le référencement ?
- redierction php : header location ou require ?
- Require une fonction dans un fichier
- Optimiser les fichiers PHP require ou include
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités
