Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

PHP en fond

Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
malopo
WRInaute discret
WRInaute discret

Inscrit le: 06 Juil 2007
Messages: 60

URL permanente de ce messagePosté le : Mar Juil 17, 2007 23:37    Sujet du message: PHP en fond

BOnjour,

J'ai un script PHP qui prend pas mal de temps a s'executer. J'aimerais donc faire en sorte qu'il puisse s'executer "en fond".
Un utilisateur ouvre une premiere page avec un formulaire a remplir par exemple. Pendant ce temps PHP tourne derriere et quand l'utilisateur passe a la page suivante, le script PHP a deja tourne et l'affichage de la page suivante se faitbeaucoup plus vite.

Comment peut-on faire qqch comme ca ?
Merci
 
malopo
HawkEye
Modérateur
Modérateur

Inscrit le: 23 Fév 2004
Messages: 12698
Localisation: Bah: First! C'te question...!?

URL permanente de ce messagePosté le : Mar Juil 17, 2007 23:40    Sujet du message: PHP en fond

A mon avis, ça ira plus vite de réfléchir à du positionnement absolu en css de parties de script terminées par flush() Wink

(simple piste... car je n'ai pas vu ton script).
 
HawkEye Visiter le site web du posteur
FloBaoti
WRInaute passionné
WRInaute passionné

Inscrit le: 30 Avr 2006
Messages: 594
Localisation: Montpellier

URL permanente de ce messagePosté le : Mer Juil 18, 2007 2:04    Sujet du message: PHP en fond

Regarde du côté de ignore_user_abort.
Combiné à une iframe par exemple. Mais niveau sécurité ça me parait pas top.

En solution plus complexe, il y a :
- quand tu veux faire bosser le script, tu insère un enregistrement dans une BDD
- un script tourne en fond sur le serveur, et vérifie toutes les x minutes s'il y a un nouvel enregistrement dans la base (action à faire)...
 
FloBaoti Visiter le site web du posteur
medium69
WRInaute accro
WRInaute accro

Inscrit le: 07 Mai 2005
Messages: 2151
Localisation: Je sais pas trop ;)

URL permanente de ce messagePosté le : Mer Juil 18, 2007 7:35    Sujet du message: PHP en fond

Et pourquoi pas tout simplement une mise en cache de tes pages ??
 
medium69 Visiter le site web du posteur
Leonick
WRInaute accro
WRInaute accro

Inscrit le: 08 Aoû 2004
Messages: 8781
Localisation: Val de Marne

URL permanente de ce messagePosté le : Mer Juil 18, 2007 9:02    Sujet du message: PHP en fond

ou un appel en ajax de ton script ?
 
Leonick Visiter le site web du posteur
webmasterlamogere
WRInaute accro
WRInaute accro

Inscrit le: 17 Déc 2006
Messages: 1603
Localisation: urlrewriting.fr

URL permanente de ce messagePosté le : Mer Juil 18, 2007 9:41    Sujet du message: PHP en fond

FloBaoti a écrit:
Regarde du côté de ignore_user_abort.
Combiné à une iframe par exemple. Mais niveau sécurité ça me parait pas top.

En solution plus complexe, il y a :
- quand tu veux faire bosser le script, tu insère un enregistrement dans une BDD
- un script tourne en fond sur le serveur, et vérifie toutes les x minutes s'il y a un nouvel enregistrement dans la base (action à faire)...

Merci pour l'info. Je cherchais depuis longtemps un moyen de continuer le script même après un changement de page. Ca marche trop bien.
 
webmasterlamogere Visiter le site web du posteur
Genova
Nouveau WRInaute

Inscrit le: 30 Sep 2006
Messages: 34

URL permanente de ce messagePosté le : Mer Juil 18, 2007 12:07    Sujet du message: PHP en fond

Il y a deux moyens d'executer une script PHP en "background" :
1) via la fonction register_shutdown_function()
2) En appelant le script PHP via une image (balise <img src="script.php" />) sur ta page, avec un code du genre :
Code:
header('Content-length: 85');
header('Content-type: image/gif');
print base64_decode(
   'R0lGODlhAQABALMAAAAAAIAAAACAA'.
   'ICAAAAAgIAAgACAgMDAwICAgP8AAA'.
   'D/AP//AAAA//8A/wD//wBiZCH5BAE'.
   'AAA8ALAAAAAABAAEAAAQC8EUAOw=='
);
flush();

// ICI ton CODE PHP (sans affichage).
 
Genova
e-kiwi
Modérateur
Modérateur

Inscrit le: 23 Déc 2003
Messages: 12346
Localisation: Toulouse

URL permanente de ce messagePosté le : Mer Juil 18, 2007 12:14    Sujet du message: PHP en fond

je sais pas si les hebergements mutualisé permettent tout ca par contre ... vérifie ou ton site est hébergé
 
e-kiwi Visiter le site web du posteur
Genova
Nouveau WRInaute

Inscrit le: 30 Sep 2006
Messages: 34

URL permanente de ce messagePosté le : Mer Juil 18, 2007 12:24    Sujet du message: PHP en fond

La plupart des hébergeurs (tous ?) permettent register_shutdown_function(). La seconde solution marche partout.
 
Genova
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

Autres sujets de discussion :

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort