[PhP:Error]Notice: fwrite(): send of 16 bytes

Fermé
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 - 7 mars 2006 à 17:12
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 21 mars 2006 à 17:13
Bonjour,

J'ai fait une application web en PhP.
Malheureusement au cour d'un script elle renvoie ceci
Notice: fwrite(): send of 16 bytes failed with errno=0 Une connexion existante a dû être fermée par l'hôte distant. in C:\PROGRA~1\EASYPH~1\php\pear\Net\Socket.php on line 258


Alors
1- Je ne sais pas ce que ca veux dire
2- Je ne sais pas a quoi serve les sockets, donc je ne pense pas y avoir touché.

Le script qui renvoie ca envoie des mail .... pour info
Et aprés l'erreur il continue de tourner !!
A voir également:

26 réponses

P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185
14 mars 2006 à 15:16
mais on ne peut pas automatiser ??

genre, si je lance l'action 1 à 10h alors il lancera tout seul l'action 2 à 18h ...
2
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
7 mars 2006 à 23:02
Tu utilises fwrite sur quoi?
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
8 mars 2006 à 17:48
Ok.

Et mail_queue() ça stocke les mail ou? Dans une base de données ou des fichiers?
Faudrait voir à quelle occasion sert cette fonction write finalement.
0
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185
9 mars 2006 à 09:54
il les stock en base ...

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185
9 mars 2006 à 17:00
dans un premier temps l'erreur apparaissait parce que je ne lui donnais pas le bon nombre d'item et maintenant parce qu'il n'as pas assez de temps pour tourner !!
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
10 mars 2006 à 23:32
Salut,

Tu entends quoi par item?
Et qu'est ce qui n'a pas assez de temps pour tounrer (et qui l'en empêche?).

Je manque de précision :-)
0
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185 > kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016
13 mars 2006 à 09:51
voilà ...
Dans Mail_Queue pour envoyer les mails je fait
        $nombre_max_de_mails = $R1;
        $file_denvoi_de_mail =& new Mail_Queue($db_options, $mail_options);
        $file_denvoi_de_mail->sendMailsInQueue($nombre_max_de_mails);

Mais $R1 représentait le nombre de mail de 0 à n et non de 1 à n donc le total n'était pas le même
Pour faire tourner la classe avec tous mes messages il me faut au moins 7h !!!
Car plus il y a de message a envoyé plus ca prend de temps et plus les messages sont lourd plus c'est long !!!
et c'est pour ca que ca me géne ... normalement le max_execution_time est à 30 seconde et pour bien faire il faut que je l'augmente considéréablement.
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527 > kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016
13 mars 2006 à 17:54
Qu'est ce qui prend du temps?
Mettre les mail en file d'attente ou bien les envoyer au final?
0
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185
14 mars 2006 à 11:03
les envoyer au final, c'est dans cette phase qu'il me fait parfois l'erreur.
Je l'ai fait tournée une bonne partie de la nuit dernière sans aucune erreur, mais hier aprés midi il m'a refait l'erreur !!!
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 mars 2006 à 11:13
Et pourqui tu n'envoies pas les mails plus régulièrement?
0
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185
14 mars 2006 à 11:21
c'est à dire ??
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 mars 2006 à 11:26
Ben au lieu de totu envoyer d'un coup la nuit, pourquoi ne pas en envoyer la moitié à midi et l'autre à minuit?
0
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185
14 mars 2006 à 11:50
oui mais comment le faire automatiquement ??
moi, je le lance en cliquant sur le bouton mais je préfére ne pas avoir a cliquer 2 fois.
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 mars 2006 à 14:12
Tu le lances depuis une page web?
Tu peux probablement le lancer en ligne de commande au lieu de passer par une page web (php fonctionne aussi en ligne de commande).

En fait ça dépend, tu lances cette page depuis la machine ou elle est hebergée?
0
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185
14 mars 2006 à 14:45
C'est une application web en local sur mon poste.
Alors oui, je la lance a partir d'une page web.

Par contre, je ne savais pas pour le php en ligne de commande
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 mars 2006 à 14:50
Et c'est bien pratique:
php nom_du_fichier.php

Pourvu que php.exe soit dans ta variable PATH
Exemple avec windows 2000:
http://www.clubic.com/wiki/Astuces_pour_Windows#Modification_du_path_de_Windows_2000
0
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185
14 mars 2006 à 14:59
j'ai easyphp dans ma variable PATH

tu pourrais m'en dire plus sur le php en ligne de commande stp.
Parceque je n'ai aucune idée de comment ca marche et ce que je peux faire
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 mars 2006 à 15:13
Si easyphp est dans ton path, alors j'espère que son repertoire php est aussi dedans.

A vrai dire c'est simple d'utilisation:
Tu ouvres une fenêtre dos, tu va dans le repertoire ou se trouve ton fichier php (par la biais de la comande cd) puis quand tu y es, tu tapes:

php nom_du_fichier.php
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 mars 2006 à 17:50
Hé si justement: grâce à la ligne de commande .

Sur les sytèmes UNIX tu as un logiciel appelé crontab qui te permet de lancer des lignes de commandes à l'heure et au jour que tu veux.
Sous windows il existe des logiciels qui font la même chose comme pycron:
http://www.kalab.com/freeware/pycron/pycron.htm
0
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185
15 mars 2006 à 10:37
je suis entrain d'essayer.
J'ai hâte de voire le résultat :D
0
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185
15 mars 2006 à 12:17
j'ai télécharger pycron,
je lui ai demander de lancer le ficher
et rien ne se passe .......

j'ai mis
command le chemin vers mon *.php
Minute 17
hour 12
Day of Month 15
Month 3
...
et rien n'apparait, comment vérifier si action il y a ??
0
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185
15 mars 2006 à 12:20
quand je fais comme tu as dis depuis les commandes dos
php ficher.php

alors il me répond
'php' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
0
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185
15 mars 2006 à 12:55
j'ai trouvé ca dans le ficher de log

Traceback (most recent call last):
  File "taskDialog.pyo", line 235, in OnTestexecbuttonButton
  File "pycron.pyo", line 112, in __init__
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 15: ordinal not in range(128)
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
15 mars 2006 à 18:03
'php' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.


Comme je te l'ai dis, il faut que le chemin vers php.exe soit inclus dans ta variable PATH.

php.exe devrait être situé dans un endroit qui ressemble à ça:
c:\Program Files\EasyPhp\php\bin
0
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185
21 mars 2006 à 10:34
en effet, j'avais mis sur php.exe et non le répertoire concerné !!!
Bon, maintenant c'est fait mais j'ai une erreure dans une alerte WARNING
Unknown(): Unable to load dynamic library './php_cpdf.dll' - Le module spécifié est introuvalbe
C'est quoi ce fichier, il sert a quoi ?
Où je peut le trouver et où dois je le mettre pour qu'il soit trouvé ??

Mais il execute tout de même le fichier
merci pour ton aide

0
P@ Messages postés 1709 Date d'inscription vendredi 7 juillet 2000 Statut Membre Dernière intervention 24 mars 2009 185
21 mars 2006 à 10:58
je crois que j'ai un souci pour écrire la commande avec pycron
j'ai fait : D:\monchemin>php send.php
D:\monchemin php send.php
php D:\monchemin\send.php
et rien ne se passe !!
Ca marche comment ??
parce que sous "dos" ca marche
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
21 mars 2006 à 11:24
Voici un exemple donné sur la page
http://www.bigbluehost.com/article4.html
0 23 * * 4 “C:\WINDOWS\System32\defrag.exe” c:

Il y a d'abord 5 paramètres pour la date d'execution.
Ensuite il vaut mieux préférer mettre le chemin complet vers php.exe (et bien mettre php.exe et non pas php) et mettre ce chemin entre guillemets.
Puis en paramètre (comme avec le c: au dessus à la fin) tu mets le nom du fichier php (mais il va falloir qu'il le trouve ce fichier php, donc il va falloir mettre le chemin complet et mettre ce chemin entres guillemets s'il y a un espace dedans.
0