需用php后端代理调用腾讯混元api:开通服务后获取secretid/secretkey,配置hunyuanclient(region必须为ap-guangzhou),通过/api/hunyuan.php校验来源并转发请求,前端仅与该接口通信,密钥全程不暴露。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让访客在PHP网站页面上直接与腾讯混元大模型对话,不跳转、不下载、不暴露密钥——这要求你用PHP后端做代理层,把前端请求安全中转给混元API,同时严格隔离SecretKey。
开通服务并获取密钥
登录腾讯云控制台 → 进入【AI与大数据】→ 点击【混元大模型】→ 选择【PaaS服务】→ 点击【立即开通】。开通过程约90秒,系统自动创建default命名空间。
开通后,进入【访问管理】→【API密钥管理】→ 点击【新建密钥】→ 勾选【腾讯云API密钥】权限策略 → 下载CSV文件。【SecretKey仅显示一次,关闭页面即永久丢失】务必立刻保存,它是一串32位大小写字母+数字组合,开头不是sk-,别和OpenAI密钥混淆。
确认该密钥已绑定QcloudHunYuanFullAccess策略,否则后续调用会返回401错误。
PHP后端配置SDK与客户端
在项目根目录执行:composer require tencentcloud-sdk-php。安装的是腾讯云官方全系SDK,不是第三方封装包。
新建HunyuanProxy.php,填入以下初始化代码:
```php
require_once 'vendor/autoload.php';
use TencentCloud\Common\Credential;
use TencentCloud\Common\Profile\ClientProfile;
use TencentCloud\Common\Profile\HttpProfile;
use TencentCloud\Hunyuan\V20230901\HunyuanClient;
use TencentCloud\Hunyuan\V20230901\Models\ChatProRequest;
$cred = new Credential(
"你的SecretId",
"你的SecretKey"
);
$httpProfile = new HttpProfile();
$httpProfile->setEndpoint("hunyuan.tencentcloudapi.com");
$clientProfile = new ClientProfile();
$clientProfile->setHttpProfile($httpProfile);
// region必须为ap-guangzhou,混元目前仅此地域开放
$client = new HunyuanClient($cred, "ap-guangzhou", $clientProfile);
```
注意:若填错region(如ap-beijing),会返回InvalidRegion错误且无具体提示;不要复用COS或CVM的Client实例,混元必须用HunyuanClient。
搭建安全代理接口
第一步:在网站中新建/api/hunyuan.php,作为唯一对外入口。
第二步:在该文件顶部强制校验来源:if ($_SERVER['HTTP_ORIGIN'] !== 'https://yourdomain.com') { http_response_code(403); exit; }
第三步:接收前端POST数据,构造并调用混元API:
```php
$input = json_decode(file_get_contents('php://input'), true);
$req = new ChatProRequest();
$req->setPrompt($input['prompt'] ?? '');
$req->setTemperature(0.7);
$req->setMaxTokens(512);
$resp = $client->ChatPro($req);
header('Content-Type: application/json; charset=utf-8');
echo $resp->toJsonString();
```
这一步操作起来很简单,直接把文件拖进去就行。但必须确保file_get_contents('php://input')能正常读取原始JSON体,Apache需关闭mod_security或调整规则,否则会截断body。
前端发起对话请求
在网页HTML中加入如下JavaScript:
```js
async function sendToHunyuan(prompt) {
const res = await fetch('/api/hunyuan.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ prompt })
});
const data = await res.json();
return data.Response?.Choices[0]?.Message->Content || '无有效回复';
}
```
调用时传入用户输入文本,函数会返回混元生成的纯文本内容。前端永远看不到SecretKey,也接触不到原始API地址。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











