49 lines
2.0 KiB
Markdown
Executable File
49 lines
2.0 KiB
Markdown
Executable File
# Guia de Execução de Comandos PHP para a IA
|
|
|
|
Este documento serve como guia obrigatório para a IA sobre como executar comandos PHP e Docker diretamente no container.
|
|
|
|
## Permissão de Execução Direta
|
|
|
|
A IA **TEM PERMISSÃO** para executar comandos diretamente no terminal para interagir com o container `dockersyscms`. Isso inclui:
|
|
- Execução de migrações (`syscli migrate`).
|
|
- Execução de testes (`vendor/bin/phpunit`).
|
|
- Comandos do console do aplicativo.
|
|
- Scripts de utilidade em `scripts/`.
|
|
- Comandos Composer.
|
|
|
|
| `php syscli cache:clear` | Limpa o cache da aplicação. |
|
|
| `php syscli route:list` | Lista todas as rotas registradas. |
|
|
| `php syscli module:list` | Lista os módulos carregados. |
|
|
|
|
## Como Executar
|
|
|
|
O ambiente host (onde a IA roda) não possui PHP instalado localmente, por isso todos os comandos devem ser direcionados ao container Docker.
|
|
|
|
### 1. Via Docker Exec (Recomendado)
|
|
Use sempre o flag `-w /app` para garantir que o comando seja executado no diretório raiz da aplicação dentro do container.
|
|
|
|
```bash
|
|
docker exec -w /app dockersyscms php syscli [comando]
|
|
```
|
|
|
|
### 2. Via Script Utilitário (Windows)
|
|
Foi criado um script `sys.ps1` na raiz do projeto para simplificar as chamadas:
|
|
|
|
```powershell
|
|
.\sys.ps1 php syscli list
|
|
.\sys.ps1 test
|
|
.\sys.ps1 composer install
|
|
```
|
|
|
|
## Regras de Segurança
|
|
1. **Verificação de Sintaxe**: Antes de rodar um comando que altere muitos arquivos ou o banco de dados, verifique a sintaxe.
|
|
2. **Backups**: Para operações destrutivas no banco de dados, prefira criar um script de migração ou backup antes.
|
|
3. **Logs**: Observe a saída do comando para garantir que não houve erros silenciosos.
|
|
|
|
## Alternativa via HTTP (Debug)
|
|
Para scripts que precisam ser testados no contexto do servidor web (ex: validação de rotas ou middlewares), a abordagem via HTTP ainda é válida:
|
|
1. Crie o arquivo em `public/temp_test.php`.
|
|
2. Acesse via `Invoke-WebRequest -Uri "http://localhost:16240/temp_test.php"`.
|
|
3. Remova o arquivo após o uso.
|
|
|