Desenvolvimento e bases de dados
Instalar dependências PHP com o Composer no alojamento
O Composer instala as bibliotecas PHP de que um projeto precisa a partir de composer.json. Quando existe composer.lock, pode reproduzir as versões que testou. Está disponível por SSH e no terminal do cPanel.
Verificar o ambiente
Abra o terminal e consulte:
php -v composer --version php --ini
Estes comandos mostram o PHP da linha de comandos, que costuma ser a versão geral selecionada no seletor de PHP do cPanel, com os seus módulos, embora nem sempre coincida. Se não for a versão do seu site, se o site tiver outra fixada para a sua pasta ou se um comando precisar de outra, utilize o caminho do respetivo binário, também para o Composer: /opt/alt/php84/usr/bin/php "$(command -v composer)" install. Antes de instalar, verifique os requisitos do projeto e as extensões do interpretador que o Composer vai utilizar.
Se composer não aparecer, verifique command -v composer e consulte o suporte sobre o caminho disponível na sua conta. Não precisa de privilégios de administrador para gerir as dependências do projeto.
Instalar as versões testadas
Trabalhe na pasta que contém composer.json e composer.lock, de preferência numa nova release ou num ambiente de testes:
cd /home/usuario/apps/mi-proyecto && composer install --no-dev --prefer-dist --no-interaction --optimize-autoloader && composer check-platform-reqs --no-dev
Substitua o caminho pelo do seu projeto. O exemplo omite as dependências de desenvolvimento para uma instalação de produção; o seu processo de testes pode precisar delas. Se o ficheiro de bloqueio faltar, prepare e teste um em desenvolvimento antes de implementar.
composer update resolve novas versões e modifica o bloqueio. Utilize-o dentro do processo de atualização em desenvolvimento, reveja a alteração e teste a aplicação antes de a publicar. Para instalar uma release já testada, utilize install. Consulte a distinção entre install e update.
O Composer pode executar scripts e plugins do projeto durante a instalação. Utilize código de confiança e reveja que operações realiza; instalar dependências não é necessariamente uma operação sem efeitos sobre a aplicação.
Resolver uma extensão em falta
Uma mensagem como esta indica que o PHP do Composer não tem uma extensão exigida:
requires ext-zip * -> the requested PHP extension zip is missing from your system
Verifique a versão com php -v e os seus módulos com php -m. Ative zip para essa mesma versão no seletor de módulos PHP, volte a verificá-la e repita a instalação.
Se precisar de executar com outro interpretador, utilize o seu caminho absoluto junto com uma instalação PHP do Composer cujo caminho tenha verificado. Mudar o PHP num .htaccess não muda o interpretador desse comando.
Não resolva um requisito não cumprido com --ignore-platform-reqs: a instalação poderia terminar e a aplicação falhar ao ser executada. Se faltar uma biblioteca do sistema ou a extensão não estiver disponível, consulte a compatibilidade com o suporte.
Verificar o resultado
Confirme que o Composer termina sem erros, que vendor/autoload.php existe e que check-platform-reqs valida o ambiente real. Depois, teste o site e as suas tarefas agendadas. Esta verificação não substitui os testes funcionais nem verifica o PHP web, se for diferente do do terminal.
Perante um erro de memória ou de espaço, reveja os recursos do plano e o tamanho das dependências. Pode preparar um artefacto num ambiente compatível, mas tem de verificar os seus requisitos no alojamento antes de o publicar.
Também lhe pode ser útil
- Instalação do Node.js e do npm para compilação de assets Instale o Node.js e o npm com o NVM para compilar assets por SSH, em implementações ou no cron, mude...
- WebSockets no Laravel: Reverb, Pusher e alternativas Porque é que o Reverb não é alojado no alojamento e como adicionar tempo real à sua aplicação Larave...
- API do cPanel (UAPI): automatizar correio, FTP e redirecionamentos a partir de SSH, cURL ou PHP Use a API do cPanel com o comando uapi por SSH ou com um token a partir de outro servidor. Exemplos...
- Abrir e utilizar o terminal integrado do cPanel Abra o terminal web integrado no cPanel para trabalhar pela linha de comandos sem configurar um clie...
Algo não bate certo ou mudou? Diga-nos e revemos.