Ambiente completo de desenvolvimento com PHP 8.3, MySQL 8.0, Nginx e phpMyAdmin, totalmente configurado e pronto para uso.
📚 Para uma visão completa da documentação, consulte DOCUMENTATION.md
git clone <seu-repositorio>
cd docker-php-dev
# Primeira vez - configurar tudo automaticamente
make install
# Ou manualmente
cp .env.example .env
make start
- Sua aplicação: http://localhost:8080
- phpMyAdmin: http://localhost:8081
- Testar ambiente: http://localhost:8080/test.php
O projeto oferece várias formas de gerenciar o ambiente. Para uma lista completa de todos os comandos disponíveis, consulte o arquivo COMMANDS.md.
- Docker direto:
docker-compose up -d
,docker-compose down
, etc. - Scripts interativos:
./init.sh
(primeira vez),./start.sh
(menu interativo)
# Primeiro uso
./init.sh
# Iniciar ambiente
docker-compose up -d
# Parar ambiente
docker-compose down
# Executar testes
docker-compose exec php php /var/www/html/test.php
# Menu interativo
./start.sh
Edite o arquivo .env
para personalizar:
- Portas (se já estiverem em uso)
- Senhas do banco de dados
- Nomes de usuário e banco de dados
Exemplo de configuração:
# Portas (modifique se necessário evitar conflitos)
NGINX_PORT=8080
PHPMYADMIN_PORT=8081
MYSQL_PORT=3306
# Configurações do MySQL
MYSQL_ROOT_PASSWORD=root123
MYSQL_DATABASE=app_db
MYSQL_USER=app_user
MYSQL_PASSWORD=app_password
- MySQL Root: usuário
root
, senharoot123
- MySQL App: usuário
app_user
, senhaapp_password
- Banco de dados:
app_db
- phpMyAdmin: usuário
root
, senharoot123
- MySQL (PDO e MySQLi)
- GD (imagens)
- cURL, OpenSSL
- Intl, Bcmath
- Imagick (ImageMagick)
- Zip, XML, SOAP
- OPcache
- E muitas outras
- Nginx como servidor web
- MySQL 8.0 como banco de dados
- phpMyAdmin para gerenciar o banco
docker-php-dev/
├── src/ # Seu código PHP aqui
│ ├── index.php # Documentação do ambiente
│ └── test.php # Testes do ambiente
├── php/ # Configurações do PHP
│ ├── Dockerfile # Imagem Docker do PHP
│ └── custom.ini # Configurações personalizadas
├── nginx/ # Configurações do Nginx
│ └── default.conf # Configuração do servidor
├── mysql/ # Configurações do MySQL
│ └── init.sql # Script de inicialização
├── init.sh # Inicialização automática
├── start.sh # Menu de gerenciamento
├── Makefile # Comandos facilitados
├── docker-compose.yml # Configuração dos containers
├── .env.example # Configurações de exemplo
└── README.md # Este arquivo
Aguarde mais 30 segundos e tente novamente. O MySQL demora um pouco para iniciar.
Edite o arquivo .env
e mude as portas:
NGINX_PORT=8090
PHPMYADMIN_PORT=8091
MYSQL_PORT=3307
Instale o Docker e Docker Compose primeiro.
Execute os comandos para dar permissão aos scripts:
chmod +x init.sh start.sh
Acesse http://localhost:8080 para ver a documentação completa com interface interativa, exemplos de código e comandos copiáveis.
- DOCUMENTATION.md - Guia central para toda a documentação do projeto
- COMMANDS.md - Lista completa de todos os comandos disponíveis
- PROJECT_STRUCTURE.md - Estrutura detalhada dos arquivos e diretórios
- CHANGELOG.md - Histórico de alterações do projeto
MIT License - veja o arquivo LICENSE para detalhes.