Keskispass quand un script tourne et que le client se deconnecte... - PHP - Programmation
Marsh Posté le 02-04-2008 à 13:20:25
jpourrais pas du tout t'aider mais,
je viens de voir ton premier code,
Code :
|
il fait quoi exactement ce set_time_limit() ?
il va exectuer la boucle pendant 24h ? et donc envoyer qqs milliards de "hello world" ?
Marsh Posté le 02-04-2008 à 13:39:29
Exactement.
J'ai volontairement simplifié mon code pour en faire un exemple et j'ai oublié de dire que le code contient aussi cette ligne ignore_user_abort(true); qui permet au script de continuer son exécution si le client se déconnecte.
Marsh Posté le 02-04-2008 à 14:17:44
Mais, après le timout, ton script va être arrêté, mais il ne va pas désallouer tes ressources, si ?
Marsh Posté le 02-04-2008 à 15:28:40
Au timeout le script est interrompu là ou il était, donc dans la boucle. Ce qui est après la boucle ne sera pas exécuté.
J'aurai du mettre un set_time_limit(0) qui signifie "pas de timeout".
Marsh Posté le 01-04-2008 à 18:44:29
Bonjour tout le monde.
Voici un code php simple :
Un client affichant une page contenant ce code va se voir retourner du "hello php world" pendant 24h...
Maintenant que ce passe t il si le client se déconnecte avant ?
Ce que je souhaiterai c'est que lorsque le client se déconnecte, je sorte de la boucle et j'appelle la fonction jedesallouedesressources();.
Pour cela j'ai trouvé la fonction php : connection_status() qui retourne 1 si le client se déconnecte.
J'adapte mon code comme ceci :
Et ca marche Sauf... Quand la connexion se coupe (donc pas de TCP FIN) et part en timeout...
Mon idée était donc de remplacer echo "hello php world" par :
Sauf que PHP me renvoie une erreur : cannot represent a stream of type Output as a select()able descriptor
Et là je seche....