在DigitalOcean App Platform部署Laravel应用时遇错误求助
解决DigitalOcean App Platform部署报错
bash: line 1: heroku-php-apache2: command not found 核心原因
你的应用部署阶段尝试调用heroku-php-apache2命令,但当前环境未加载PHP相关的Buildpack——该命令是Heroku PHP Buildpack提供的专属启动命令,若你的App Platform配置仅启用了Node.js Buildpack,自然找不到该命令。
具体修复步骤
1. 确认并添加PHP Buildpack
- 登录DigitalOcean控制台,进入你的应用详情页
- 切换到Settings > Buildpacks选项卡
- 点击Add Buildpack,选择PHP官方Buildpack(若找不到,手动输入
https://github.com/heroku/heroku-buildpack-php.git) - 调整Buildpack顺序:如果你的应用同时需要Node.js(比如前端构建)和PHP,把Node.js Buildpack放在PHP之前,确保前端构建先完成,再由PHP处理服务启动
2. 检查Procfile配置
确保Procfile的启动命令符合PHP环境要求,比如:
web: heroku-php-apache2 public/
(public/是你的Web根目录,根据实际路径调整)
3. 验证PHP环境依赖
在项目根目录添加composer.json文件(即使不需要额外依赖),DigitalOcean会识别该文件并触发PHP Buildpack的加载:
{ "require": { "php": ">=7.4" } }
添加后提交代码重新部署。
4. 清理旧构建缓存
- 在应用详情页的Deployments选项卡,找到最近失败的部署记录
- 点击Redeploy,勾选Rebuild from scratch选项,强制清理旧缓存后重新构建部署
内容的提问来源于stack exchange,提问作者Pine Valley
相关产品推荐
相关产品推荐

