Skip to content

安装

本指南将帮助你完成 Doggy Framework 的安装和初始化配置。

前置条件

  • PHP >= 8.2
  • ext-ctype, ext-iconv
  • PostgreSQL >= 14
  • Composer >= 2.5

目录结构

my-app/
├── Caddyfile              # FrankenPHP 配置(含 Mercure Hub、压缩、缓存)
├── config/
│   ├── bundles.php
│   ├── packages/          # 31 个 Bundle 配置文件
│   └── services.yaml
├── src/
│   ├── Annotation/        # Ef.php, EfGroup.php
│   ├── Entity/            # Organization, Platform, Security, Storage, System, Traits
│   ├── Controller/        # Admin, Api, Security
│   ├── Service/           # AI, Storage, Security, Task, Platform 等
│   └── ...
├── templates/             # 143 个 Twig 模板
└── public/                # 入口文件

环境依赖安装

PostgreSQL

bash
# macOS
brew install postgresql@14
brew services start postgresql@14

# Ubuntu/Debian
sudo apt install postgresql-14
sudo systemctl start postgresql

创建数据库:

bash
createdb app

Mercure Hub

Mercure Hub 内置于 FrankenPHP,通过 Caddyfile 配置即可使用,无需额外安装。见 Mercure 配置

启动应用

应用在宿主机通过 FrankenPHP 运行:

bash
# 开发环境
symfony serve

# 生产环境(FrankenPHP Worker 模式)
cd my-app && php -d variables_order=EGPCS bin/runtime -vvv

FrankenPHP 自动从 Caddyfile 读取配置,监听 http://localhost:8000

初始化数据库

bash
php bin/console doctrine:database:create
php bin/console doctrine:migrations:migrate
php bin/console doctrine:fixtures:load

初始化基础数据

bash
# 初始化管理员账号(三员)
php bin/console app:init-officers

# 生成静态菜单
php bin/console app:ef:init-admin-menu

默认账号

角色用户名初始密码
系统管理员adminadmin123
安全保密员securitysecurity123
安全审计员auditorauditor123

⚠️ 生产环境必须修改所有默认密码。

访问

下一步

基于 MIT 协议开源 | Copyright © 2026 Doggy