在 Debian 上使用 PHP 进行 API 开发
一 环境准备
- 更新系统并安装 PHP 与常用扩展(适配你的 Debian 版本与 PHP 版本):
- sudo apt update && sudo apt install -y php php-cli php-fpm php-json php-mysql php-zip php-gd php-mbstring php-curl php-xml php-bcmath
- 安装 Composer(PHP 依赖管理):
- curl -sS https://getcomposer.org/installer | php
- sudo mv composer.phar /usr/local/bin/composer
- 选择并安装 Web 服务器(Nginx 或 Apache)。以下以 Nginx 为例:
- sudo apt install nginx
- 启动与开机自启:sudo systemctl start nginx && sudo systemctl enable nginx
- 说明:Laravel 等现代框架通常要求 PHP 7.3+。
二 两种常见实现方式
三 API 设计与规范要点
- 采用 RESTful 风格:用 GET/POST/PUT/PATCH/DELETE 对应资源的查/增/改/部分改/删。
- 统一 URL 命名 与 版本管理(如:/api/v1/users)。
- 请求与响应使用 JSON,规范 HTTP 状态码(如:200 成功、201 创建、400 请求错误、401 未认证、404 未找到、422 校验失败、500 服务器错误)。
- 请求头建议:Content-Type: application/json;需要鉴权时使用 Authorization: Bearer 。
- 响应结构建议统一:{ “data”: …, “message”: …, “status”: … }。
四 部署与安全加固
- 使用 Nginx + PHP-FPM 生产部署,root 指向框架的 public 目录;配置 try_files $uri $uri/ /index.php?$query_string; 将所有非静态请求交给前端控制器。
- 进程管理:确保 php-fpm 与 nginx 开机自启并监控状态。
- 安全与优化要点:
- 隐藏敏感文件与目录:location ~ /.ht { deny all; };禁止访问 .env 等敏感文件。
- 开启 HTTPS(如 Let’s Encrypt),强制跳转 443。
- 限制请求方法(如仅允许 GET/POST/PUT/DELETE)。
- 设置合适的 CORS(跨域)策略(开发环境可放宽,生产环境按白名单限制)。
- 防范常见 Web 漏洞(SQL 注入、XSS、CSRF 等),框架内置防护优先启用。