如何在PHP Buildpack部署中排除指定文件?
解决DigitalOcean App Platform PHP Buildpack部署时排除文件的问题
因为DigitalOcean的PHP Buildpack基于heroku-buildpack-php实现,所以可以沿用Heroku生态的文件忽略机制,替代不生效的project.toml排除配置,具体方法如下:
方法1:使用.slugignore文件(推荐)
这是Heroku Buildpack体系下的标准文件忽略配置,DigitalOcean App Platform完全支持:
- 在项目根目录创建
.slugignore文件 - 按行写入需要排除的文件/目录路径,示例:
该文件的规则和tests/ *.log docs/ vendor/bin/.gitignore一致,Buildpack在打包部署包时会自动跳过这些路径下的内容。
方法2:修正project.toml的配置格式
如果坚持使用project.toml,需确保配置格式符合要求,并且没有被.slugignore覆盖:
- 在
project.toml中添加[build]区块并配置exclude数组,示例:[build] exclude = ["tests/", "*.tmp", "local-config.php"] - 注意:如果项目中存在
.slugignore,它的优先级会高于project.toml的exclude配置,需要删除.slugignore才能让该配置生效。
验证生效方式
部署后可以查看App Platform的构建日志,查找类似Skipping excluded file/directory: tests/的日志条目,确认忽略规则是否被正确应用。
内容的提问来源于stack exchange,提问作者ivoba
相关产品推荐
相关产品推荐

