ddlzz / symfony5-docker-website-skeleton
一个在 Docker 容器中运行的 Symfony 应用程序的模板,便于开发。
3.1.0
2024-06-24 20:45 UTC
README
以下配置的项目模板
- 最新的稳定 Symfony 框架(目前为 6.4 版),可指定版本
- PHP 8.3
- PostgreSQL 16.3(可以在 docker compose 文件中修改)?
- 独立的 Docker 容器用于 Nginx、FPM、CLI 和数据库
- 自带 CS-Fixer 和 Psalm
概念
- 应用程序和 docker 文件位于同一级别:分别在
/app
和/docker
文件夹中。这允许您分离 symfony 应用程序和 docker 环境变量,并在必要时通过添加新的文件夹来实现单仓库模式:/centrifugo
、s3-storage
等。 - 默认情况下会忽略
compose.override.yaml
,因此您可以添加自己的设置而不用担心会覆盖原始设置。
快速开始
创建新项目的单行命令:composer create-project ddlzz/symfony-docker-website-skeleton local_project_path && make setup-configs && make init OPTIONS="webapp" && make up
分步骤说明
composer create-project ddlzz/symfony-docker-website-skeleton local_project_path
make setup-configs
- 为 docker 容器创建 .env 文件make init OPTIONS="webapp"
- 非常重要!在向您的仓库提交任何代码之前运行它。如果您不需要使用 webapp,则可以省略OPTIONS
参数。make up
- 启动 docker 容器
默认端口对于每个创建的项目都是随机的(47001-47999),因此点击 CLI 中 make up
命令生成的链接并享受吧!
您还可以在生成的 .env 文件中手动设置 Nginx 和 PostgreSQL 的所需端口(别忘了之后运行 make restart
)。
标志
在运行 make init 时,您可以使用以下标志
OPTIONS="webapp"
:包括 Web 应用程序 功能。省略以使用基本的symfony/skeleton
设置。VERSION=X.Y
:指定 Symfony 版本。默认为最新的稳定版本,目前为 6.4。
示例
make init OPTIONS="webapp"
make init VERSION=7.2
make init OPTIONS="webapp" VERSION=7.2
配置 PhpStorm IDE 的 Xdebug 设置
要在创建的项目中集成 Xdebug 与 PhpStorm,您需要执行以下操作
- 在
Settings -> Languages & Frameworks -> PHP
选项卡中从项目中的 php-fpm 容器创建 PHP 解释器;确保在容器中 Xdebug 正确运行。 - 在
Settings -> Languages & Frameworks -> PHP -> Debug -> Xdebug -> Debug
菜单中输入端口号9009
。 - 在
Settings -> Languages & Frameworks -> PHP -> Servers
菜单中创建名为Docker
的服务器(它与 IDE 配置中两个解释器的ServerName
字段值相匹配)。 - 如果需要,在 PHP 解释器的
Settings -> Languages & Frameworks -> PHP -> Path Mappings
中进行适当的映射。 - 点击
Listen for PHP debug connections
按钮;如果您有任何问题,请阅读 文档。