IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Mail] Fermer une connexion au navigateur sans quitter mon script PHP


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Par défaut [Mail] Fermer une connexion au navigateur sans quitter mon script PHP
    Salut à tous,

    J'ai une question assez pointue à laquelle je n'arrive pas à trouver de réponses...

    Voilà, j'ai une page PHP qui m'affiche du contenu HTML, et qui, après avoir affiché le contenu HTML, effectue une opération très longue (potentiellement plusieurs heures).
    Cette opération n'est pas censée fournir de retour à l'utilisateur, donc j'aimerai bien pouvoir fermer la connexion.

    J'ai vu dans la doc PHP que la fonction ignore_user_abort() permet de ne pas quitter mon script si l'utilisateur clique sur le bouton "Stop" de son navigateur, donc j'ai déjà la moitié de ce que je cherche de fait.
    Cependant, le navigateur de l'utilisateur reste connecté au serveur (en attente de la suite de la page) puisque le serveur n'a pas dit explicitement terminé l'envoi des données. Du coup, j'ai un petit sablier qui se balade sur ma page, et ça fait "pas top".

    Dans l'idéal, j'aurais besoin d'une fonction pour couper la connection au client, mais impossible de la trouver. Help! Quelqu'un connaitrait-il cette fonction miracle?

    Merci d'avance pour toute aide!

    David
    www.thecodingmachine.com

  2. #2
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    si tu fais une redirection par header, le script après le header continuera normalement de s'exécuter. Il suffirait donc que tu rediriges de cette manière le visiteur vers une autre page.

    Néanmoins, apache ne te laissera jamais exécuter un script PHP pendant plusieurs heures... Il va falloir trouver une alternative.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Par défaut
    Damn.... Apache va couper mon process tout seul?
    C'est dur!
    Bon, bein j'ai donc plus qu'à trouver une autre solution.... :s

  4. #4
    Membre éclairé
    Avatar de titoon
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 71
    Par défaut
    Tu peux peut-être contourner ton problème en utilisant une tache cron ?
    J'ai eu un problème similaire avec des envois de mails en masse (qui prend pas mal de temps quand on envoie les mails par centaines) : je stocke les mails à envoyer (générés lors de la consultation de la page), et un cron appelle régulièrement un script qui les envoies (de manière transparente).

Discussions similaires

  1. Fermer une connexion ServeurSocket
    Par moithibault dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 02/09/2011, 14h47
  2. Récupérer un token après une connexion avec navigateur
    Par Pyroxn dans le forum Général Java
    Réponses: 3
    Dernier message: 12/08/2011, 14h08
  3. [MySQL] Doit-ont ouvrir et fermer une connexion mysql à chaque debut et fin de programme
    Par tentsuken dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 11/02/2010, 15h54
  4. Fermer une connexion d'un client depuis le seveur
    Par Yogy dans le forum Windows Communication Foundation
    Réponses: 6
    Dernier message: 04/02/2010, 20h35
  5. RMI - fermer une connexion - connaitre le nombre de stub
    Par damien77 dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 01/02/2009, 17h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo