IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

ligne de commande et limite de mémoire


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut ligne de commande et limite de mémoire
    Bonjour,

    je travaille sous environnement linux, et je viens de créer un script php qui interroge et alimente une base de données (mysql) sans aucun affichage graphique.

    Le script aurait pu être réalisé en perl mais des contraintes annexes force l'usage du php.

    Problème:
    lors de l'exécution du script en ligne de commande (1min) l'erreur suivante remonte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     user@serveur$ php monscript.php
    PHP Fatal error:  Allowed memory size of 8388608 bytes exhausted (tried to allocate 4096 bytes) in /XXXXXXX/XXXXX.php on line 65
    Content-type: text/html
    X-Powered-By: PHP/XXX
     
    sed: couldn't write 114985 items to stdout: Broken pipe
    Le script est donc interrompu et n'alimente pas ma base. L'erreur est toujours la même mais ne vise jamais le même endroit de mon script (ligne 51, 204 puis 403...).

    Vous me direz: bah c'est une boucle qui part dans le vide ou quelque chose comme ça? bah à mon avis non !

    En exécutant le script en passant via mon navigateur web, le script s'exécute normalement et ma base de données est alimentée comme il faut.

    Je me suis donc dis que le user "apache" avait peut être des facilités pour l'exécution de script (ressources mémoire etc..).

    Donc j'ai effectué le même test avec le user apache :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     apache@serveur$ php monscript.php
    PHP Fatal error:  Allowed memory size of 8388608 bytes exhausted (tried to allocate 4096 bytes) in /XXXXXXX/XXXXX.php on line 204
    Content-type: text/html
    X-Powered-By: PHP/XXX
     
    sed: couldn't write 114985 items to stdout: Broken pipe
    résultat identique....

    j'ai essayer d'allouer plus de mémoire à mon script via une commande php mais rien n'y change !

    Avez vous déja rencontré ce problème?

    Merci d'avance!

    Sylvain

  2. #2
    Membre actif Avatar de BlackSmith
    Inscrit en
    Mars 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mars 2008
    Messages : 181
    Points : 207
    Points
    207
    Par défaut
    Il arrive qu'il y ai deux php.ini, un pour apache et l'autre pour le cli.

    Peux-être devrait tu vérifier qu'ils ont le même memory_limit

  3. #3
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bien vu.

    Un php "non-désiré" présent sur le serveur faisait référence pour la commande "php".

    Il n'avait que les 8M par défaut de mémory autorisé ce qui empêcher l'exécution complète de mon script.

    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Taille d'un argument passé en ligne de commande limité !
    Par benthebest dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 06/05/2010, 13h30
  2. Aucune limite pour max_user_connections en ligne de commande
    Par Thierry8 dans le forum Installation
    Réponses: 3
    Dernier message: 28/03/2006, 11h43
  3. Réponses: 3
    Dernier message: 07/04/2003, 20h06
  4. Récuperer Arguments sur la ligne de commande ?
    Par Muetdhiver dans le forum x86 16-bits
    Réponses: 9
    Dernier message: 20/01/2003, 21h01
  5. Analyser la ligne de commande
    Par benj29 dans le forum C
    Réponses: 14
    Dernier message: 19/11/2002, 04h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo