Cursos Magento

Magento no ambiente local sem burocracia (com php -S)

,

Atualizado em 10 de março de 2022

Que tal rodar o Magento 2 no ambiente local sem muita burocracia? Vamos ver como fazer isso usando o servidor web embutido do próprio PHP.

Docker?

Na minha opinião, o ambiente Docker é a forma mais recomendada para executar o Magento no ambiente de desenvolvimento.

No Magento 2: O Curso temos uma seção inteira sobre como configurar o Magento com ele. Este é o jeito mais seguro e sem dor de cabeça (depois de instalado, é claro, rs) de se desenvolver para Magento.

Servidor embutido PHP?

Muita gente não sabe, mas o PHP pode rodar um servidor web nativo com apenas um comando.

Duvida?

Crie um arquivo index.php em uma pasta qualquer e digite php -S localhost:8900.

Em uma fração de segundo o servidor será iniciado e você poderá acessá-lo no seu navegador na URL informada.

Ele é ideal quando queremos um ambiente de desenvolvimento prático e rápido. Embora o Magento não seja assim tão prático e precisa de outras dependências, é possível usar o servidor embutido (built-in server) com ele.

Usando o PHP Built-in Server (Servidor embutido do PHP) com Magento 2

O Magento requer banco de dados Mysql, Elastic Search e uma versão específica do PHP para cada versão do Magento.

Não abordaremos aqui como instalar cada um deles em seu ambiente local. Isso pode variar de acordo com o sistema operacional que estiver usando. Você pode encontrar isso facilmente na internet, ou usar uma solução pronta como Mamp, Wamp ou Xampp. O ElasticSearch geralmente não vem nessas soluções, mas é fácil de ser instalado.

Veja a seguir o que você precisa antes de continuar.

Checklist de requisitos no seu ambiente local

  1. PHP instalado com a versão correta.
    Digite php -v para verificar
  2. Certifique-se que você tem as extensões necessárias do PHP.
    Digite php -m para ver as que você tem.
  3. ElasticSearch
    Digite curl localhost:9200 para testá-lo. Isto é, se você o configurou usando as opções padrão.
  4. Mysql
    Digite mysql --version para conferir a versão.
    Crie uma base de dados para o Magento, e um usuário com permissão total para ela.
  5. Composer 2.x
    Digite composer --version para ver se seu composer está instalado e qual versão

Instalando o Magento no banco e ElasticSearch locais

Nós já vimos como instalar o Magento usando o composer aqui no Magenteiro. E faremos o mesmo aqui.

Após gerar suas credenciais no marketplace, baixe a última versão do Magento usando composer com o comando abaixo em uma pasta vazia:

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition .

Feito isso, é hora de instalar o Magento com o comando bin/magento setup:install. Rode o comando abaixo substituindo os parâmetros pelos do seu banco e de sua preferência.

bin/magento setup:install --backend-frontname=admin --db-name=NOME_DO_BANCO --db-user=USER_DO_BANCO --db-password=SENHA_DO_USER --db-host=localhost:3306 --admin-user=magenteiro --admin-password=aluno123 --admin-email="[email protected]" --admin-firstname=Aluno --admin-lastname=Magenteiro --currency=BRL --session-save=files --use-rewrites=1

A esta altura você terá o Magento instalado nesta pasta, e uma série de tabelas criadas no banco.

Agora só falta um servidor web.

Executando php -S no Magento 2

O Magento serve os arquivos estáticos de forma peculiar. Além de outras regras de entrega de conteúdo bem personalizadas.

Apenas executar o comando php -S na raiz de uma loja Magento não será suficiente.

No entanto, o Magento já traz uma solução para quem deseja usar o servidor embutido. Trata-se de um arquivo gerenciador de rotas, localizado em <pastamagento>phpserver/router.php.

Para rodar o PHP -S com Magento, fazemos:

php -S 127.0.0.1:8082 -t ./pub/ ./phpserver/router.php

Desta forma, o Magento será servido imediatamente em http://127.0.0.1:8082. A pasta /pub será a pasta de entrada, e o arquivo router.php cuidará das peculiaridades do nosso Magento.

Home do Magento 2.4 sendo servida com servidor embutido do PHP (php -S)

Passo a passo em vídeo

Também criei uma aula com passo a passo em vídeo. Informe seus dados abaixo para assisti-la.

Executando php -S no Magento 1.x

O Magento 1.x não possui um router.php nativo. Por isso temos que usar um de terceiro antes de iniciar nosso projeto.

Na raiz da loja Magento 1.x, digite curl -sS https://raw.githubusercontent.com/philwinkle/Magento-PHP-Webserver-Router/master/install.sh | bash.

Em seguida você já pode iniciar seu servidor com php -S minhaloja.test:8080 router.php.

Simples, não é mesmo?

Últimos posts por Ricardo Martins (exibir todos)
Comentários

Deixe seu comentário

[fbcomments url="https://www.magenteiro.com/blog/magento-2/magento-com-builtin-server/"]