Correzione dell'errore Amazon EC2 quando si utilizza Composer.phar

Quando si utilizza The Composer dependency manager per PHP, occasionalmente si verificano errori durante l'utilizzo del servizio EC2 di Amazon. Esiste una soluzione semplice per questo problema.

Recentemente, quando ho provato ad installare Symfony2 su un'istanza EC2, ho trovato il seguente errore:

"Eccezione non rilevata 'ErrorException' con messaggio 'proc_open (): fork failed - Impossibile allocare memoria' in phar ..."

Nel debugging di questo problema, ho riscontrato che molte persone stavano vivendo lo stesso problema. In genere ciò si verifica quando si utilizza Composer.phar su a istanza di t1.micro. Il piccolo ingombro di memoria di questa istanza non ha memoria di scambio sufficiente per l'esecuzione corretta di Composer.phar.

Aumenta la dimensione dell'istanza

Per correggere questo problema, modifica temporaneamente l'istanza in un'istanza più grande. È possibile farlo arrestando l'istanza e quindi selezionando Cambia tipo di istanza dal Azioni menu. Potrebbe essere necessario regolare l'indirizzo IP e la sicurezza in base alla configurazione.

Dopo aver aumentato le capacità di istanza, utilizzare composer.phar per installare i dati PHP. Dopo aver terminato, sentiti libero di interrompere l'istanza e di eseguire nuovamente il downgrade se desideri risparmiare denaro. Ancora una volta potrebbe essere necessario modificare l'indirizzo IP e le impostazioni di sicurezza.

Aumentare i limiti di PHP

In alternativa, puoi aumentare il tuo memory_limit di PHP ad almeno 256M. Spesso questo darà al PHP abbastanza memoria libera per eseguire il compositore senza errori.