Bonjour,
J'ai constaté que lorsqu'on fait un "echo", il n'est pas directement envoyé au navigateur. Il sera envoyé à la fin de l'exécution du script.
J'aimerai donc savoir comment envoyer directement un texte au navigateur.
Merci d'avance.
Bonjour,
J'ai constaté que lorsqu'on fait un "echo", il n'est pas directement envoyé au navigateur. Il sera envoyé à la fin de l'exécution du script.
J'aimerai donc savoir comment envoyer directement un texte au navigateur.
Merci d'avance.
Salut,
peux tu développer un peu plus ton besoin...
Sachant que php est un langage 'côté' serveur.
Ok,
Je suis actuellement en train de développer un composant pour Joomla. Dans ce composant j'ai une action qui permet d'importer un nombre d'important d'utilisateur à partir d'un fichier excel.
Ce traitement est assez long. En local, je n'ai aucun soucis. Cependant après l'avoir mis en test sur le serveur de Free, lors d'importation j'ai plus 1 fois sur 2 une erreur du navigateur me signalant ceci :.Code d'erreur 64 : hôte indisponible
Informations : la connexion avec le serveur Web a été perdue.
Je suis parti du principe que le problème venait d'un timeout du navigateur car celui ci ne recevait aucune donnée.
Je voudrais donc réaliser un test me permettant d'envoyer toutes les 2 secondes une informations ( ex: Hello World ) au navigateur pour pas qu'il s'impatiente.Voilà mon problème et le test que j'aimerai réalisé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for ( $i = 0; $i < 10; $i++ ) { echo "<br>".$i; sleep ( 2 ); }
A moins, j'y pense que mon script a fait planter le thread d'exécution sur le serveur de Free.
Mais là encore je ne sais pas comment faire.
je ne crois pas que tu puisse faire ce que tu demandes, par contre sur un serveur payant tu peux généralement paramétrer la durée du time out et donc le rendre suffisement long pour exécuter tes scripts...
En fait, là j'ai un message qui vient du navigateur web et non du serveur.
Car lorsqu'on dépasse le temps d'exécution max du serveur on a CE messageAlors que moi j'ai CELUI CI :Fatal error: Maximum execution time of 30 seconds exceeded inCode d'erreur 64 : hôte indisponible
Informations : la connexion avec le serveur Web a été perdue.
Bonjour,
est ce que vous utilisez ce genre de boucle et de redirection? Par ce que j'ai souvent vu Apache me lâcher à partir de la 200ème.
Cordialement,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <?php $debut = microtime(TRUE); $time_max = 20; // secondes if (isset($_GET['id'])) $id = intval($_GET['id']); else $id = 0; for ($i = $id; $i < 30; $i++) { sleep(5); if ((microtime(TRUE)-$debut) >= $time_max) { header('Location: '.$_SERVER['PHP_SELF'].'?id='.$i); exit(); } } echo 'fini!'; ?>
DaRiaN.
Oui dans le coeur de Joomla la redirection est bien réaliser de cette manière.
Et sur les serveurs de free, c'est bien apache qui est utilisé.
Donc tu veux dire que ça pourrait être ça la cause. Ce serait une sorte de mini crash d'apache qui poserait problème.
Je viens de faire un test.
J'ai remplacer le code suivantpar celui ci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 header( 'HTTP/1.1 301 Moved Permanently' ); header( 'Location: ' . $url );Jet j'ai toujours le même problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo "<script>document.location.href='$url';</script>\n";
NOTE : Ce problème n'est pas systématique. Depuis que je suis passé de PHP4 à PHP5, le problème est encore moins fréquent.
Peut être que le serveur PHP5 de free est plus rapide.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager