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 :

PHP attend longtemps avant de traiter de nouvelle requête pour une session


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 12
    Points : 12
    Points
    12
    Par défaut PHP attend longtemps avant de traiter de nouvelle requête pour une session
    Bonjour, je suis désolé d'avance si ce message semble avoir été écrit rapidement mais je dois le réécrire pour la troisième fois...

    Voici mon problème, pour une raison inconnue PHP attend la fin d'exécution d'un de mes fichiers PHP (que je vais appeler stream.php) avant de traiter toutes nouvelles requêtes sur des fichiers .php. (Les requêtes effectuées pendant que stream.php est exécuté seront mis en attente).

    Concrètement : j'appel un fichier PHP (player.php) qui charge un lecteur flash qui télécharge une vidéo à partir de stream.php. Le comportement de stream.php est très simple, une simple boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while( !feof( $h ) ) echo fread( $h, 2048 );
    Remarque: Pour des besoins futurs (limitation du débit, monitoring du nombre ~ de secondes envoyés,...), je ne peux pas utiliser de solutions alternatives (par exemple file_get_contents(), readfile(),...).

    Dès que j'effectue une requête vers player.php (ou directement vers stream.php), toutes nouvelles requêtes sur un fichier .PHP sera mis en attentes (pour la même session) tant que je ne ferme pas la page player.php.

    Voici d'autres informations (considérer que ces notes sont à partir du moment où PHP refuse de traiter de nouvelles requêtes sur un fichier PHP):

    - Selon Fiddler / Firebug, ma requête est envoyées mais PHP ne retourne rien (aucun en-tête ni contenu) mais ne ferme pas la connexion.
    - Je peux sans problème demander un fichier .html (Apache est donc réactif)
    - Si je modifie la variable de session (PHPSESSID) je peux effectuer de nouvelle requête vers des fichiers .PHP.
    - Dans mes tests j'ai essayé avec de simple fichier .html renommés en .PHP sans succès.
    - Je peux attendre la durée maximale d'exécution d'un script, PHP ne retourne pas d'erreur. Les requêtes seront effectuées lorsque player.php sera fermé.
    - Si je déplace le curseur de lecture (dans le lecteur flash), UNE requête en attente sera traitée et les autres resteront en attentes. Toutes nouvelles requêtes seront en attentes.
    - Il semblerait que si j'appel un fichier .html qui redirige vers player.php le problème ne survient pas. (Je peux effectuer de nouvelles requêtes)

    Vos idées sont les bienvenues,
    Merci d'avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    «session data is locked to prevent concurrent writes only one script may operate on a session at any time. When using framesets together with sessions you will experience the frames loading one by one due to this locking.»
    Source : http://www.php.net/manual/en/functio...rite-close.php

    Solutions :
    • Utiliser session_write_close() lorsque les sessions ne sont plus nécessaires (spécialement dans le fichier stream.php)
    • Utiliser un autre système de session (ex. via une BD) avec un comportement non bloquant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/10/2009, 15h26
  2. [XL-2003] Création d'une nouvelle feuille pour une liste de fichier
    Par Cedrick dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/07/2009, 17h53
  3. [PHP-JS] enregistrement avant reload d'une page
    Par zycomatic dans le forum Langage
    Réponses: 3
    Dernier message: 27/03/2008, 09h51
  4. [Sécurité] Pb PHP pour une session membre
    Par fredylover dans le forum Langage
    Réponses: 2
    Dernier message: 02/05/2006, 08h59

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