Perché compositore installare timeout dopo 300 secondi?

Ho piccolo progetto made in symfony2 quando cerco di creare il mio server è sempre un fallimento, quando la decompressione di symfony. Costruire era OK e improvvisamente compositore non decomprimere symfony e non ho cambiato nulla. Ho provato a costruire con Jenkins e anche manualmente da bash con lo stesso risultato. Non è un problema di autorizzazioni e anche la connessione internet sul mio server è OK.

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
 - Installing symfony/symfony (v2.3.4)
 Downloading: 100%
[Symfony\Component\Process\Exception\ProcessTimedOutException]
The process "unzip '/path/vendor/symfony/symfony/6116f6f3
d4125a757858954cb107e64b' -d 'vendor/composer/b2f33269' && chmod -R u+w 'vendor/composer/b2f33269'" exceeded the timeout of 300 seconds.
InformationsquelleAutor zajca | 2013-09-20

 

9 Replies
  1. 85

    provare composer update/install -o -vvv e controllare se il pacchetto viene caricato dal compositore cache.

    se sì prova a cancellare compositore cache o provare ad aggiungere -cache-dir=/dev/null.

    Per forzare il download di un archivio invece di clonare fonti, utilizzare il --prefer-dist opzione in combinazione con --no-dev.

    Altrimenti si potrebbe provare ad aumentare compositore processo valore di timeout:

    export COMPOSER_PROCESS_TIMEOUT=600   ( defaults to 300 )
    • ben confezione c’è scritto nella cache. vedere pastebin, è troppo grande per il commento pastebin.com/sb7deyNc stesso risultato con il comando update. Anche l’estensione non penso che 4 core e non di lavoro.
    • Utilizzando php composer.php install --prefer-dist --no-dev ha funzionato per me.
    • Funziona anche per me. Qualcuno sa perché?
    • Bene dopo, mentre io a capire perché questo è accaduto e il motivo era lento NFS. Non so perché, poiché è sulla rete locale, ma ho fatto un interruttore di sshfs e funziona senza problemi.
    • Un problema comune è condivisioni NFS essere lento quando si tratta di pioggia i/o del disco … cioè le cartelle di cache sono interessati da questo. È possibile aggirare questa spostando le cartelle di cache per /dev/shm/. Nel caso del compositore si potrebbe utilizzare --cache-dir=/dev/shm/composer/cache. Leggi di più su di esso in questo articolo che gli obiettivi di performance trucchi per symfony2 con vagrant condivisioni nfs. Sono contento che hai risolto il tuo problema però. Si potrebbe ancora considerare di accettare la mia risposta come 11 upvotes + commenti chiaramente è utile per gli altri.
    • Ho scoperto che non posso usare un cache-dir opzione quando si esegue il compositore (1.0-dev), né con --cache-dir-cache-dir. Invece, ho dovuto aggiungere nel mio composer.json file: "config": { "cache-dir": "/dev/shm/composer/cache" }.
    • export COMPOSER_PROCESS_TIMEOUT=600 ( di default 300 )

  2. 31
    composer config --global process-timeout 2000
    • o senza –global se si desidera impostare in un determinato compositore.json
  3. 22

    Compositore stesso imporre un limite su quanto tempo ci consenta di git remote operazione. Un’occhiata al Compositore documentazione conferma che la variabile di ambiente COMPOSER_PROCESS_TIMEOUT governa questo. La variabile è impostata su un valore predefinito di 300 (secondi), che è a quanto pare non abbastanza per una grande operazione di clonazione mediante una connessione a internet lenta.

    Di alzare questo valore utilizzando:

    COMPOSER_PROCESS_TIMEOUT=2000 composer install
  4. 17

    Il metodo più semplice è aggiungere opzione di configurazione per il compositore.file json, Aggiungere del processo-timeout a 0, tutto qui. Funziona ovunque.

    {
      .....
      "scripts": {
        "start": "php -S 0.0.0.0:8080 -t public public/index.php"
      },
      "config": {
        "process-timeout":0
      }
    }
  5. 4

    Symfony Componente del processo di timeout impostato a 60 per impostazione predefinita. Ecco perché è possibile ottenere gli errori come questo:

    [Symfony\Component\Process\Exception\ProcessTimedOutException]     
    The process "composer update" exceeded the timeout of 60 seconds. 

    Soluzione

    Impostare il timeout di 5 minuti o più

    $process = new Process("composer update");
    $process->setTimeout(300); //5 minutes
    $process->run();
    • Il frammento in questione dice exceeded the timeout of 300 seconds. Quindi sarebbe necessario essere superiore a 300, o altro il timeout non è il problema (potrebbe essere un problema di cache, per @nifr e @wormhit risposte).
  6. 3

    È un vecchio thread, ma ho scoperto il motivo per il time-out è stato in esecuzione php debugger (PHPStorm è stato l’ascolto di xdebug connessioni) che ha causato il processo di timeout. Quando ho chiuso il PHPStorm o disattivato l’estensione xdebug, non si è verificato.

    • Era proprio questo il motivo del mio timeout, VS Codice di debug e che avevo lasciato in ascolto per le connessioni…
  7. 1

    vecchio thread, ma nuovo problema per me. No qui le soluzioni erano al lavoro quando si tenta di installare google/apiclient (fallito su google/apiclient-servizi) su una VM Ubuntu all’interno di Windows 10 host.

    Dopo aver notato la funzione di Windows “antimalware eseguibile” facendo notevoli cicli di CPU quando si fa questo, compositore di installazione/aggiornamento, ho disabilitato “protezione in tempo reale” su Windows 10 macchina, e il mio compositore di aggiornamento/installazione ha funzionato!!

    Speranza che aiuta qualcuno.

    • Esso mi ha aiutato! Ho avuto lo stesso problema installando la google/apiclient un Ubuntu VM in esecuzione su Windows 10 via VirtualBox e ciò ha risolto il problema.
  8. 0

    Questo è il problema lenta NFS. Compositore di cache di scrittura nella directory NFS. È necessario installare il compositore a livello globale e riscrivere il percorso della cache.

    Questo non funziona:

    php composer.phar install

    Utilizza questo:

    composer install

    Prima di questa esecuzione è necessario config compositore a livello globale. Vedere questo https://getcomposer.org/doc/00-intro.md#globally

    Inoltre, è necessario aggiungere queste righe al file config.json:

    "config": {
        "cache-dir": "/var/cache/composer"
    }

    Funziona per me.

Lascia un commento