答案:在DigitalOcean App Platform部署PHP项目需确保项目含composer.json、index.php等文件,创建digitalocean.yaml配置web服务,设置routes重定向至/public,指定run_command为public/index.php,并通过环境变量配置APP_KEY等参数,平台将自动构建并部署应用。

在DigitalOcean的App Platform上部署基于Composer的PHP项目非常简单,尤其适合Laravel、Symfony、Slim等使用Composer管理依赖的框架。你不需要手动配置服务器,App Platform会自动检测项目类型、运行Composer安装并启动应用。
准备你的项目结构
确保你的PHP项目根目录包含以下关键文件,以便App Platform正确识别和构建:
- composer.json:定义项目依赖和自动加载规则
- composer.lock(推荐提交):锁定依赖版本,保证环境一致性
-
index.php 或框架入口文件(如 Laravel 的
public/index.php) - app/, config/, vendor/ 等标准目录(由Composer生成或项目自带)
vendor/ 目录提交到Git。App Platform会在构建时自动运行 composer install --no-dev(生产模式)。
配置 public 目录(关键步骤)
DigitalOcean App Platform默认将项目根目录作为Web根目录。但大多数PHP框架(如Laravel)要求Web入口在 public/ 目录。你需要通过配置指定正确的路由路径。
在项目根目录创建 digitalocean.yaml(或 .do/app.yaml)文件:
立即学习“PHP免费学习笔记(深入)”;
name: your-app-name
region: sfo
services:
- name: web
git:
repo-cloning-url: https://github.com/your-username/your-repo
branch: main
routes:
- path: /
preserve_path: false
redirect_to: /public
environment_slug: php
build_command: composer install --optimize-autoloader --no-dev
run_command: public/index.php
http_port: 8080
说明:-
run_command: public/index.php告诉平台从public/目录启动应用 -
build_command自定义构建步骤,可添加优化参数 -
routes中的redirect_to: /public确保请求被正确路由
设置环境变量(如数据库、APP_KEY)
对于Laravel等框架,你需要设置必要的环境变量。在App Platform界面中:
- 进入你的应用 → Settings → Environment Variables
- 添加变量,例如:
APP_ENV=productionAPP_DEBUG=false-
APP_KEY=base64:...(使用php artisan key:generate --show生成) - 数据库连接信息:
DB_HOST,DB_NAME等
敏感信息建议标记为“Encrypted”,平台会加密存储。
部署与调试
完成代码推送后,App Platform会自动触发构建。你可以在“Logs”选项卡中查看构建和运行日志。
常见问题排查:
-
403 Forbidden 或空白页:检查
public/index.php是否存在,以及run_command配置是否正确 -
Class not found:确认
composer.json正确且未忽略重要包;检查构建日志是否有错误 -
Migrations未执行:可在
build_command中加入&& php artisan migrate --force(仅限测试环境谨慎使用)
基本上就这些。只要项目结构清晰、配置文件正确,DigitalOcean App Platform能快速部署你的Composer项目,无需管理服务器细节。











