2010-09-17 6 views
3

J'ai écrit un programme qui utilise fsockopen() et fgets() pour lire le contenu d'un site Web sur le net ou télécharger un fichier sur mon serveur depuis le réseau.Plusieurs processus en PHP

Il utilise la commande While pour recevoir les en-têtes. Le problème est: lorsque le script est en cours de traitement While, un client unique ne peut pas demander une autre page sur mon site Web et il attendra jusqu'à ce que While() termine son traitement.

Est-il possible de résoudre ce problème?

+0

Dans quel type d'environnement utilisez-vous ceci? Un serveur web multithread comme Apache devrait normalement prendre soin de cela ... – deceze

+0

Il fonctionne déjà sur Apache 2, mais LocalHost ... Quelle différence? –

+0

Il y a probablement. Cependant, votre problème n'est pas clair. Vous avez créé un script pour lire les données du Web. Il semble que vous surchargez votre serveur de la façon dont vous exécutez le script via Apache. Apache gère plusieurs requêtes correctement. Utilisez-vous Windows ou une sorte de nix? –

Répondre

0

Il s'agissait d'un problème d'appel multiple session_start() !! J'ai utilisé session_write_close() à la fin de mes fichiers qui ont commencé avec session_start(), et maintenant tout fonctionne bien. Merci à tous.

0

Nous utilisions le Process Forking dans nos projets. Comme je sais, cela fonctionne uniquement sur les systèmes * nix. En outre, il peut être exécuté sans serveur Web.

0

Vous devez avoir codé à tort votre script PHP.

Ou peut-être, il y a des problèmes avec votre serveur Web.

+0

Je ne peux même pas charger d'autres pages pendant qu'il est en boucle: (( –

Questions connexes