Como executar comandos (ex: setup:static-content:deploy) no Magento 2 sem o acesso via SSH / Terminal.
Em hospedagem compartilhadas você poderá encontrar dificuldade para ter o acesso SSH (terminal) em mãos, dessa forma a execução de alguns comandos no Magento 2 será inviabilizada.
Primeiro, crie um arquivo “cmd.php” na raiz de seu servidor aonde está a instalação do Magento 2.
Adicione o seguinte conteúdo:
use Magento\Framework\App\Bootstrap; require __DIR__ . '/app/bootstrap.php'; $bootstrap = Bootstrap::create(BP, $_SERVER); $obj = $bootstrap->getObjectManager(); $state = $obj->get('Magento\Framework\App\State'); $state->setAreaCode('frontend'); $k[0]='bin/magento'; $k[1]='setup:static-content:deploy'; $_SERVER['argv']=$k; try { $handler = new \Magento\Framework\App\ErrorHandler(); set_error_handler([$handler, 'handler']); $application = new Magento\Framework\Console\Cli('Magento CLI'); $application->run(); } catch (\Exception $e) { while ($e) { echo $e->getMessage(); echo $e->getTraceAsString(); echo "\n\n"; $e = $e->getPrevious(); } }
Altere: $k[1]='setup:static-content:deploy';
O content:deploy é o comando desejado, faça a substituição pelo comando que você deseja executar.
Observação: o código não irá retornar nenhuma mensagem caso a execução do comando seja feita com sucesso!
Lista de comandos úteis
system('php bin/magento cache:status');
Altere o cache:status para o comando que você desejar.
Essa opção dificilmente irá funcionar em hospedagem compartilhadas, pois a função system() vem desativada.
Essa não é uma pratica aconselhada.
(alternativa super lenta) Você também pode baixar a loja para o ambiente local, execute os comandos / modificações e faça o upload dos diretórios pub/* e var/* de volta para o servidor. Esta opção é válida apenas para alguns tipos de comandos, no geral você terá que subir tudo novamente, banco e arquivos.
Segurança: Atualizações frequentes geralmente incluem patches de segurança para corrigir vulnerabilidades identificadas. Ao manter o Magento atualizado, você reduz significativamente…
Como adicionar uma mensagem de Alerta ou Aviso do Admin do Magento 2 Injete o Magento\Framework\Message\ManagerInterface no construtor da sua…
Para exibir as mensagens adicionadas na classe Magento\Framework\Message\ManagerInterface em um arquivo .phtml, você pode usar o seguinte código: <?php $objectManager…
Para criar um script no Magento 2 que exporte as categorias para um arquivo XML com o nome da categoria,…
Para definir um vídeo MP4 como plano de fundo em um <div> usando HTML e CSS, você pode seguir estas…
Como desativar o "lastname" no Magento 2 e Adobe Commerce Desativando a obrigatoriedade do campo Execute a SQL abaixo diretamente…