Quando si esegue composer update
, il sistema operativo esamina i percorsi configurati e tenta di individuare un file eseguibile con quel nome.
Quando si esegue php composer update
, la stringa composer
viene trattata come parametro in PHP, che non viene ricercata in alcun percorso. Devi fornire il percorso completo per eseguirlo.
Esecuzione which composer
vi dirà dove il sistema operativo trova l'eseguibile compositore e quindi è sufficiente utilizzare il percorso completo nel comando PHP:
$>which composer
/usr/local/bin/composer
$>php -d memory_limit=512M /usr/local/bin/composer update
...
Si noti che 512 potrebbe essere troppo pochi. La mia percezione è che prenderà felicemente 1 GB o più, a seconda del numero di dipendenze che usi e della varietà di versioni che teoricamente permetti, cioè se permetti a Symfony ~2.3
, allora fai in modo che Composer gestisca molte più versioni possibili rispetto a utilizzando ~2.7
.
Si noti inoltre che l'esecuzione di Composer sulla macchina di produzione non è l'idea migliore. Dovresti avere accesso a Github, magari fornire le credenziali di accesso, installare gli strumenti VCS e interrompere facilmente il tuo sito se uno qualsiasi dei server di hosting remoto è offline durante l'aggiornamento. È consigliabile utilizzare Composer su un sistema di distribuzione che esegue tutta la preparazione, quindi sposta tutti i file sul server di produzione.
Come affermato da @Sven, nella fase di produzione 'installazione di compositore 'è sufficiente. Nel tuo caso, mentre utilizzi un hosting condiviso, penso che non otterresti "l'aggiornamento del compositore", quindi l'unico modo è acquistare un hosting VPS come Digital Ocean, Linode. – Lucas