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

 PHP Discussion :

Composer, et mémoire php


Sujet :

PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 21
    Points : 11
    Points
    11
    Par défaut Composer, et mémoire php
    Bonjour à tous,

    Je ne me considère plus comme débutant sous symfony en général, mais pour tout ce qui concerne Composer, oui !

    Alors voilà, je rencontre le fameux problème, lors de ma tentative d'install du bundle assetic, de la mémoire insuffisante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PHP Fatal error: Out of memory (allocated 1218445312) (tried to allocate 4096 bytes)
    lorsque je tente un upload :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php composer.phar update symfony/assetic-bundle
    Je stipule quelle dépendance je veux updater car mon environnement est stable et je préfère éviter des mises à jours qui pourraient changer la donne (mais un simple update me renvoie également une erreur de mémoire allouée).

    Comme vous le voyez, j'ai déjà essayé d'augmenter la mémoire allouée dans mon php.ini (redémarré et tout) mais quoi que je fasse, l'erreur persiste. J'ai testé de nombreux tutos pour fixer ce problème mais rien n'y fait. Je suis en train de me demander si la ressource en mémoire vive de ma machine (je travaille en local avec easyphp) est suffisante pour utiliser composer.

    Du coup, je me demande comment faire soit :
    - pour résoudre mon problème de fonctionnement de composer
    - pour installer le bundle assetic manuellement (je me pose bcp de questions sur le fonctionnement de composer (j'avoue ne pas tout comprendre) et installer à la mano un bundle externe pourrait m'aider à comprendre ce qu'il fabrique exactement.)

    Merci d'avance pour vos réponses !

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 234
    Points : 15 531
    Points
    15 531
    Par défaut
    Citation Envoyé par noname2 Voir le message
    j'ai déjà essayé d'augmenter la mémoire allouée dans mon php.ini (redémarré et tout) mais quoi que je fasse, l'erreur persiste
    avez-vous vu que PHP en ligne de commande a un fichier de configuration différent que PHP lancé par Apache ?
    pour trouver le fichier INI concerné, lancé la commande "php -i" et l'information sera dans les 1res lignes.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Merci pour cette réponse mathieu

    Non, je n'étais pas au courant de cette subtilité.

    J'ai tenté la commande "php -i" mais elle ne me mentionne pas de php.ini

    Par contre cette commande me renvoie bien un chemin vers le dossier contenant le php.ini que j'avais modifié : C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\php\php713vc14x86x180129043000; ( ce chemin est celui que j'avais rentré moi même en suivant le tuto sur symfony et afin de justement pouvoir utiliser la console).

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Je me permets de rebondir sur mon propre post après quelques nouveaux essais.

    Je pense que je modifie bien le bon php.ini puisque ma mémoire allouée a considérablement augmenté depuis que je l'ai passé de 126M à 500M.

    Le problème est que composer semble nécessiter de plus de 1 Go de mémoire, et que quand j'ai beau mettre 2000M dans mon php.ini, il semble que ce ne soit pas possible (pour ma machine) de déployer autant de mémoire à cette tache.

    Ne trouvant aucune solution pour faire fonctionner composer et plutôt que de passer un temps incroyable à m'en sortir, je préfèrerais parvenir à installer manuellement un bundle externe.

    J'ai créé un dossier "assetic" dans mon dossier "vendor". Dedans s'y trouve tous les fichiers et dossiers dudit bundle.

    J'ai bien ajouté le lien dans le AppKermel.php : "new assetic\AsseticBundle()," mais j'ai cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Attempted to load class "AsseticBundle" from namespace "assetic".
    Did you forget a "use" statement for another namespace?
    J'ai essayer d'indiquer le namespace comme ceci dans le fichier "app/autoload.php" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $loader = require __DIR__.'/../vendor/autoload.php';
    $loader->add('assetic','vendor/assetic/AsseticBundle');
    Mais sans succès

    Si vous avez une idée ou que vous avez vous-même déjà installer un vendor manuellement (j'imagine que ça doit être possible quand même)... merci à vous !

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2011
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Je rencontre le même problème de mémoire avec composer.

    Avez-vous pu installer le bundle manuellement sans composer ?

    Pouvez vous décrire la méthode que vous avez utilisée ?

    Merci

  6. #6
    Membre régulier
    Avatar de fenrir0680
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 49
    Points : 93
    Points
    93
    Billets dans le blog
    2
    Par défaut
    Salut,

    Petites questions sur le serveur que vous utilisé.
    Est-ce un serveur Linux?
    Est-ce un vps?
    Y-a-t-il un swap d'installé?

    Quelques pistes:


    Perso, j'ai déjà eu des problèmes de mémoire avec composer, et la deuxième soluce avait résolu mon problème.

    Cordialement,

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/09/2015, 03h20
  2. Réponses: 0
    Dernier message: 21/04/2011, 14h38
  3. [SQL-Server] selectioner plusieurs milliers de champs d'une table sans faire déborder la mémoire php
    Par cywill dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/01/2010, 19h32
  4. Mémoire PHP insuffisante
    Par Kalidor dans le forum Gratuit
    Réponses: 0
    Dernier message: 31/10/2007, 00h42

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