Como executar um PHP meu numa loja Magento 2
Desenvolvimento, Magento 2
Atualizado em 05 de junho de 2020
Não rara são as vezes que precisamos criar um script PHP para fazer alguma tarefa fora do Magento.
Eu mesmo sempre acabo colocando um php com um <?php phpinfo(); em algum lugar para checar as configurações e variáveis do servidor.’
No Magento 1… era fácil
No Magento 1, assim como na maioria dos softwares e aplicações, bastava colocar nosso PHP na pasta raiz e acessá-lo. Sem grandes surpresas ou dificuldaded, certo?
No Magento 2… depende
Executar um script PHP puro no Magento 2 vai depender de qual servidor web você está usando (nginx ou apache) e das configurações do mesmo.
Premissa básica
Antes de seguir, vou considerar que:
Antes de seguir, vou considerar que você configurou a pasta pública do seu Magento corretamente.
Isto é, quando acessar www.sualoja.com a pasta que está sendo lida é a pasta /pub e não a pasta raiz do seu Magento. Já falamos disso aqui, lembra?
Se você está usando Apache…
Se você estiver usando Apache, mesmo que com a reescrita de url’s ativada, basta criar seus arquivos php dentro da pasta /pub.
Todo arquivo PHP adicionado lá será lido na raiz da sua loja.
Você pode criar subpastas lá também.
Se estiver usando nginx…
Se estiver usando nginx o processo pode ser um pouco mais complicado.
Você terá que localizar o seu arquivo de configuração do nginx. Geralmente ele é herdado do arquivo nginx.config.sample localizado na raiz do projeto.
Em seguida, localize o trecho location ~ ^/(index|get|static|errors/report|errors/404|errors/503|health_check)\.php$ {.
Esta é a regra de reescrita no Magento 2. Basicamente ela redirecionará para o index.php qualquer chamada que não comece com esses nomes de arquivos: index.php, get.php, static.php, etc.
Tudo que você precisa fazer é adicionar o seu arquivo nesta lista. Ex: meuarquivo.php, resultará em location ~ ^/(index|get|static|errors/report|errors/404|errors/503|health_check|meuarquivo)\.php$ {.
Lembre-se de reiniciar o nginx após fazer a alteração.
Em alguns casos, o servidor nginx é configurado na frente de um servidor apache e as reescritas de url com .htaccess funcionam naturalmente, não sendo necessário alterar nada. Nesses casos, você pode seguir como se estivesse usando um servidor Apache.
Nginx + Valet-plus?
Se estiver usando Valet-plus no Mac, precisará localizar o Driver do Magento 2 em /Users/SEUUSUARIO/.composer/vendor/weprovide/valet-plus/cli/drivers/Magent2ValetDriver.php e adicionar a exceção abaixo dentro do método frontControllerPath.
if(strpos($uri, '/meuarquivo.php') !== false){
return $sitePath.'/pub'.$uri;
}
Simples né?
- Guest checkout bloqueado na API REST do Magento 2? Confira isso. - 7 de julho de 2026
- Você precisa testar esta plataforma de e-commerce - 9 de fevereiro de 2026
- A hora de montar o seu OnlyFans chegou! Veja 8 ideias pra começar o seu. - 4 de dezembro de 2024
Deixe seu comentário
[fbcomments url="https://www.magenteiro.com/blog/magento-2/como-executar-arquivo-php-no-magento-2/"]