mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-08-30 12:45:32 +08:00
在 docker-dev/docker-dev-sync/docker-serve/full 四个模式中集成 XHProf 性能分析能力,默认不启用(--profile xhprof 按需开启),零侵入不改 业务代码和 run.sh。 核心组件: - source/docker/xhprof-bootstrap.php: 采集器初始化(auto_prepend_file) - source/docker/xhgui-config.php: XHGui 认证配置(Basic Auth)+ PDO 存储 - 各 Dockerfile: 安装 PECL xhprof 扩展 + php-profiler 到 /opt/xhprof/ - 各 docker-compose: 新增 xhgui 服务(profiles: xhprof),端口 8142 存储方案:PDO MySQL(复用现有 MySQL),避免 MongoDB PHP 驱动兼容性问题。 docker-dev/docker-dev-sync 开箱即用;docker-serve/full 需配置 XHGUI_PDO_DSN。 认证:HTTP Basic Auth,默认 admin/xhgui123,环境变量可覆盖。 采集控制:XHPROF_ENABLE 环境变量 + cookie _profiler 强制触发 + 1% 采样。 Dockerfile.base 同步新增 xhprof 扩展(框架作者需重建推送基础镜像)。
source/
本目录用于收纳“主工程之外的配套内容”,包括多端代码、各类子项目、资料与附件等,不影响当前主工程运行与发布。根目录仍是主工程入口。
目录约定
source/assets/:通用静态资源(模板、字体、设计稿导出等)source/assets/templates/source/assets/fonts/
source/docs/:项目资料(说明文档、流程文档、交付文档等)source/attachments/:附件与素材(非代码交付物、原始文件等)source/docker/:本项目 Docker 运行所需的配置文件(nginx、PHP、PHP-FPM、启动脚本)source/clients/:各端前端/客户端工程source/clients/uniapp/:uni-app(Vue3 + Vite + JavaScript)source/clients/vue-screen/:预留“大屏端”目录
source/projects/:各类子项目(可为 PHP 或其他技术栈,如 Python/Go/Node 工具或服务)source/stack/:部署栈模式文件(default/与各模式目录)
命名规则
- 统一小写,使用
-连接(如vue-screen) - 目录按
clients / projects / assets / docs / attachments / docker / stack分类
依赖与构建产物
- 每个子工程自带依赖清单(例如
package.json) - 禁止提交依赖目录与构建产物(例如
node_modules/、dist/) - 资料与附件目录建议保留原始格式,避免混入可执行产物或临时缓存
安全约束
- 禁止在该目录提交任何密钥/证书/私有 token
- 如需环境变量,提交
.env.example,不要提交真实.env