Composer na hospedagem partilhada: instalar e correr

O Composer não vem instalado como comando no servidor, mas não precisa dele assim. Descarrega-se um único ficheiro, o composer.phar, para dentro da sua conta, e corre-se com o PHP: php composer.phar install. Precisa de uma linha de comandos, que é o Terminal do cPanel ou o SSH, conforme a conta tenha shell.

Instalar o composer.phar

1 Abra o Terminal do cPanel (ou ligue por SSH, na porta 2299) e entre na pasta do projecto, por exemplo cd ~/meu-projecto.
2 Confirme qual PHP o comando php usa: escreva php -v. Se não for a versão do projecto, use o caminho completo da versão certa nos comandos seguintes, que tem a forma /opt/alt/php82/usr/bin/php (troque 82 pela versão pretendida, sem ponto).
3 Descarregue o instalador: php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');". A página de descarga do Composer publica também a soma de verificação do instalador; vale a pena conferi-la antes de o correr.
4 Corra-o: php composer-setup.php. Aparece o ficheiro composer.phar.
5 Apague o instalador: php -r "unlink('composer-setup.php');".
6 Instale as dependências do projecto: php composer.phar install. Em produção, php composer.phar install --no-dev --optimize-autoloader deixa de fora o que só serve para desenvolver.

install ou update?

Comando O que faz
composer install Instala exactamente o que o ficheiro composer.lock diz. É o que se corre no servidor, para ficar igual ao que testou.
composer update Procura versões novas e reescreve o composer.lock. Corra-o no seu computador, teste, e leve o resultado para o servidor.
composer require pacote Acrescenta um pacote ao projecto e instala-o.
“Killed”, ou o comando pára a meio. A conta tem limites de memória e de processos (veja os limites que ninguém anuncia), e o Composer gasta bastante a resolver dependências. Tente php -d memory_limit=-1 composer.phar install. Se continuar a ser terminado, corra o install no seu computador e envie a pasta vendor por SFTP.
Não deixe o composer.phar nem a pasta vendor ao alcance de quem visita o site quando o projecto o permite: ponha a aplicação fora da pasta pública, ou deixe só o ficheiro de entrada lá dentro. E nunca publique o .env. Veja manter as palavras-passe fora do código.
Sem shell na sua conta? Nem todas as contas têm terminal. Faça o composer install no seu computador, com a mesma versão de PHP, e envie vendor e composer.lock por SFTP. O resultado é o mesmo.

As bibliotecas que o Composer instala e o código da sua aplicação são seus, e não os mantemos nós. A fronteira está em até onde vai o nosso suporte. Para o Laravel, que usa o Composer de ponta a ponta, veja pôr uma aplicação Laravel a correr.

Não sabe se a sua conta tem Terminal? Pergunte-nos, com o nome do seu domínio.

Abrir um pedido de suporte

VEJA TAMBÉM

O Terminal do cPanel: uma linha de comandos sem instalar nada

Pôr uma aplicação Laravel a correr

Ver e ajustar a configuração do PHP

SFTP em vez de FTP

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 5.940,00 Kz/mês (plano de 3 anos, com cupão)

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?