|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Inscription : février 2006 Messages : 50 ![]() |
Bonjour,
J'ai un site qui fonctionait et depuis hier il y a une erreure. Quand je le roule sur mon serveur local, ça marche mais quand je le remet sur le serveur de deployement le bug réapparait. J'ai trouvé la ou ça bloque. J'ai un fichier csv qui contient près de 7500 lignes. mon script l'ouvre et le lit au complet, mais depuis hier il arrive plus a le lire au complet. Il s'arrête à la ligne 54463. Du coup le reste du script ne s'exécute plus. Je n'arrive pas à savoir pourquoi. Est-ce que ça vient de mon hebergeur? Où est-ce une attaque de type overflow. Je ne m'y connais pas trop en ce type d'attaque. À l'aide svp. voilà le bout de code qui lit: Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() |
salut,
ça vient surement d'une différence dans le php.ini Si tu n'as pas les droits pour le modifier comme tu le souhaites, tu peux essayer à la volée avec ini_set http://www.php.net/manual/fr/function.ini-set.php |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : février 2006 Messages : 50 ![]() |
Oui mais je dois changer quoi au juste?
|
|
|
00
|
|
|
#4 | ||
|
Membre émérite
![]() Inscription : août 2006 Messages : 943 ![]() |
C'est sur, c'est du coté du php.ini qu'il faut voir : fait un fichier info.php avec une seule instruction : phpinfo();
Pour changer une valeur du php.ini, il suffit de placer cette ligne avant celles que tu nous montre : Code :
Tu as cette valeur qui dérange quelques fois : upload_max_filesize, surtout si tu l'Upload.... Il faudrait que tu compare le phpinfo de ton serveur chez toi, et celui de ton hébergeur pour relever les différences....
__________________
Veni Vidi Vici ------------------------- Mes articles : developpez.com ou bien vbview.net ------------------------- Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!! Et aussi : --> pear_manual_fr.chm!!! Ou encore : --> Les tutoriaux & cours PHP de Développez.com ------------------------- |
||
|
|
00
|
|
|
#5 | |||
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Citation:
Ne serait-ce pas plutôt un problème liée au fait que vous ayez atteint la quantité de mémoire maximale ou le temps d'exécution maximal ? Pourriez-vous placer ceci en haut de votre script et nous donner les erreurs affichées ? Code :
|
|||
|
|
00
|
|
|
#6 | |
|
Futur Membre du Club
![]() Inscription : février 2006 Messages : 50 ![]() |
J'ai cette erreur qui s'affiche
Citation:
C'est clair que c est un problème de mémoire. Donc je devrais changer l'attribut memory_limit et la augmenter. Mais maintenant, pourquoi ce script fonctonnait et la j,ai ce problème ? Je ne crois pas que quelqu,un a changé le php.ini. On a un seveur virtuel. Bon j'essaye ça et je reviens vous donner des nouvelles. |
|
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Inscription : février 2006 Messages : 50 ![]() |
J'ai changé la valeur de memory_limit et la ca fonctionne. Je n'arrive pas à comprendre pourquoi ça fontionnait avant et que d'un coup ça marchait plus.
Merci à tous pour vos reponse |
|
|
00
|
|
|
#8 |
|
Membre chevronné
![]() Inscription : mai 2006 Messages : 521 ![]() |
Cela marche jsuqu'a ce que cela ne marche plus de nouveau.
Le probleme avec ta methode de traitement du fichier, c'est que tu charge tout le fichier en memoire. Donc quand la taille de ton fichier augmente la taille de ta variable en memoire augmente. Le meilleur moyen de traiter un fichier dont tu ne connais pas la taille (et qui a donc une taille potentiellement infini) c'est de faire un traitement ligne a ligne ou par block de plusieurs lignes. Tu evite ainsi une saturationde ta memoire. |
|
|
00
|
|
|
#9 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
fgets = lecture par ligne ...
ça vient vraisemblablement du tableau puisque vous y ajoutez au fur et à mesure de votre lecture des parties de chaque ligne. Pourquoi ça ne fonctionne plus aujourd'hui ? Vous avez du ajouté une paire de lignes à ce fichier ce qui fait que maintenant la mémoire nécessaire pour le script n'est plus suffisante et ses besoins dépassent cette limite de 8Mo alors que 4Ko supplémentaires seraient, ici, requis. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com