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
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(),...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part while( !feof( $h ) ) echo fread( $h, 2048 );
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
Partager