questo potrebbe essere il caso se hai scaricato composer.phar
direttamente ,
ma non eseguendo php composer-setup.php
crea composer.phar
eseguibile con il seguente comando prima di spostarlo in /usr/local/bin/composer
o dopo lo spostamento
sudo chmod 755 composer.phar
composer-setup.php apporterà questa modifica per noi per impostazione predefinita
Sul server Ubuntu>=16.04
PRIMA
sudo rm /usr/local/bin/composer
E
cd ~/.cache/composer
chmod 755 composer-temp.phar
sudo mv composer-temp.phar /usr/local/bin/composer
Dovresti controllare i permessi della directory /usr/local/bin/, non solo del file all'interno. Il processo deve scrivere entrambi, il file e nella directory a cui entrambi devono essere concessi.
A parte questo, un suggerimento generale:non impostare sempre tutto su 777. Non c'è motivo per questo e rende il tuo sistema vulnerabile.
Secondo la riga che hai postato nell'ultimo commento, la directory è attualmente solo scrivibile per l'utente root stesso. Questo spiegherebbe l'errore che ottieni. Non dovresti crea il tuo account utente come proprietario, i sistemi Linux sono ambienti multiutente. Pensa invece a uno di questi approcci:
- aggiungi l'account che deve eseguire il
composer
alla radice del gruppo (un account utente può appartenere a più gruppi) e rendere scrivibile il gruppo di directory - cambia la proprietà del gruppo della directory in un gruppo di cui l'account è membro e rendi il gruppo di directory scrivibile
- usa il
sudo
utility per installare e aggiornarecomposer
utilità
L'ultima opzione è quella tipicamente scelta e preferita. Lascia le autorizzazioni così come sono (conservative) e utilizza solo i privilegi elevati per i lavori di manutenzione del sistema come l'installazione e l'aggiornamento.