Sign inSign up

ebuzaneli/adianti-php

By ebuzaneli

•Updated about 1 year ago

Ambiente de desenvolvimento e produção para Adianti Framework.

Image
Developer tools
Web servers
0

166

ebuzaneli/adianti-php repository overview

⁠Adianti Framework 8.x com PHP 8.4

Este documento fornece uma explicação detalhada sobre como utilizar a imagem Docker ebuzaneli/adianti-php:8.4.
A imagem é baseada no framework Adianti Framework versão 8.x e foi projetada para facilitar o desenvolvimento e a execução de aplicações com suporte ao PHP 8.4 utilizando este framework.


⁠🚀 Como usar

Abaixo está um exemplo de uso via docker-compose, incluindo explicações detalhadas sobre cada configuração.

⁠📄 Exemplo: docker-compose.yml
version: '3.8'

services:
  adianti:
    image: ebuzaneli/adianti-php:8.4
    container_name: adianti_php84

    # Mapeia a porta 80 do container para a porta 8080 do host.
    ports:
      - "8080:80"

    # Mapeia o diretório da aplicação e o log de erros do PHP:
    volumes:
      - /docker/modelo/admin/app:/var/www/html                # Código-fonte da aplicação
      - /docker/modelo/admin/logs/php_errors.log:/tmp/php_errors.log  # Log de erros do PHP

    # Variáveis de ambiente para personalização do container:
    environment:
      MODE: development           # Pode ser 'development' ou 'production'
      TYPE_PROTOCOL: HTTP        # Pode ser 'HTTP' ou 'HTTPS'
      SESSION_NAME: SESS_MODELO  # Nome da sessão PHP (usado apenas em produção)
      TZ: America/Sao_Paulo      # Define o timezone do container

    # Política de reinício do container:
    deploy:
      restart_policy:
        condition: on-failure

⁠🔧 Variáveis de Ambiente

VariávelObrigatóriaValores possíveisDescrição
MODESimdevelopment ou productionDefine o modo de execução do PHP (com diferentes arquivos php.ini)
TYPE_PROTOCOLNãoHTTP ou HTTPSApenas informativo para sistemas que diferenciam o protocolo
SESSION_NAMENãoQualquer nome válidoUsado apenas em produção. Define session.name do PHP
TZSimEx: America/Sao_PauloTimezone usado pelo PHP

⁠🗂️ Volumes Esperados

Caminho no HostCaminho no ContainerFinalidade
/docker/modelo/admin/app/var/www/htmlCódigo-fonte da aplicação
/docker/modelo/admin/logs/php_errors.log/tmp/php_errors.logLog de erros PHP acessível fora do container

⁠🛠️ Recursos Instalados

Esta imagem já vem com os seguintes módulos e configurações:

  • Apache 2.4 com mod_rewrite ativado
  • PHP 8.4 com extensões:
    • gd, intl, mysqli, pdo, pdo_mysql, sqlite3, mbstring, opcache
  • Suporte a arquivos .htaccess
  • Compatível com SQLite, MariaDB e MySQL
  • Log centralizado de erros no /tmp/php_errors.log

⁠📁 Organização sugerida dos diretórios

/docker/modelo/
├── admin/
│   ├── app/                  # Seu código-fonte Adianti aqui
│   ├── logs/
│   │   └── php_errors.log    # Log de erros

⁠🧪 Executando o container

docker-compose up -d

Após o container estar em execução, acesse via navegador:

http://localhost:8080

⁠✅ Requisitos

  • Docker Engine 20.10+
  • Docker Compose 1.29+

⁠🧩 Exemplos de uso

Para desenvolvimento:

environment:
  MODE: development
  TZ: America/Sao_Paulo

Para produção:

environment:
  MODE: production
  SESSION_NAME: SESS_PORTAL
  TZ: America/Sao_Paulo

⁠📍 Observações

  • Em modo development, o PHP é configurado para exibir todos os erros.
  • Em modo production, as mensagens de erro são suprimidas e o nome da sessão é ajustado.
  • O log de erros é redirecionado para /tmp/php_errors.log para fácil acesso externo.
  • A imagem é baseada em php:8.4-apache.

⁠📣 Contribua

Sinta-se à vontade para sugerir melhorias, relatar problemas ou adaptar para suas necessidades!


Autor:
Enio Marcelo Buzaneli

Tag summary

Content type

Image

Digest

sha256:a8f0f54be…

Size

269.8 MB

Last updated

about 1 year ago

docker pull ebuzaneli/adianti-php:8.4