php 8 下用 deepseek-laravel 包集成 deepseek api,需确保 curl、json、mbstring 扩展启用,通过 composer 安装、发布配置、配置 .env 密钥,即可在控制器中直接调用 deepseek::chat() 方法实现开箱即用的 ai 对话。

PHP 8 在 Laravel 项目中集成 DeepSeek 接口,核心是“环境适配 + 认证安全 + 框架融合”。不用重写 HTTP 客户端,也不用手动管理密钥,关键是选对包、配对方式、用对位置。
确认 PHP 8 环境与基础扩展
DeepSeek 官方要求 PHP ≥7.4,PHP 8.x 完全兼容且更推荐——尤其在 JSON 处理、类型声明和错误提示方面更稳定。必须确保以下扩展已启用:
- cURL:用于发起 HTTPS 请求(DeepSeek API 全链路走 HTTPS)
-
JSON:PHP 内置,但需确认未被禁用(
json_encode/json_decode要可用) - mbstring:处理中文 prompt、响应时避免乱码或截断
验证命令(Laravel 项目根目录下运行):
php -v<br>php -m | grep -E "curl|json|mbstring"
用 deepseek-laravel 包实现 Laravel 原生集成
这是目前最省心的方式:它专为 Laravel 设计,自动注册服务提供者、绑定 Facade、支持配置驱动,让你像调用 Cache::get() 那样调用 AI。
- 安装:
composer require deepseek-php/deepseek-laravel - 发布配置:
php artisan vendor:publish --provider="DeepSeek\ServiceProvider",生成config/deepseek.php - 在
.env中填入密钥:DEEPSEEK_API_KEY=sk-xxx
(无需 SECRET,当前 DeepSeek v1 API 仅需 Bearer Key 认证) - 清配置缓存:
php artisan config:clear
在控制器或任务中直接调用
集成后,你不需要 new Client、不手动拼 URL、不处理 token 过期(因为当前接口无短期 token 机制)。示例:
// app/Http/Controllers/AiController.php<br>use DeepSeek\Facades\DeepSeek;<br><br>public function chat(Request $request)<br>{<br> $response = DeepSeek::chat([<br> 'messages' => [['role' => 'user', 'content' => $request->input('q')]],<br> 'model' => 'deepseek-chat',<br> ]);<br> return response()->json(['reply' => $response['choices'][0]['message']['content']]);<br>}
该调用会自动读取 .env 中的 key、使用预设 endpoint(https://api.deepseek.com/v1)、带正确 headers,并返回原生数组(非 raw JSON 字符串)。
进阶:自定义模型、流式响应与异常处理
如果项目有更高要求,可在 config/deepseek.php 中调整:
-
'timeout' => 30:防止长 prompt 卡住请求 -
'stream' => true:开启 SSE 流式输出(配合前端 EventSource 使用) -
'model' => 'deepseek-coder':切换到代码专用模型
异常统一由包内 DeepSeekException 抛出,可集中 try/catch 或用 Laravel 的 exception handler 捕获并记录日志。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











