82 lines
2.4 KiB
PHP
82 lines
2.4 KiB
PHP
|
|
<?php
|
|||
|
|
require_once __DIR__ . '/config.php';
|
|||
|
|
|
|||
|
|
echo "=== 测试Dify配置 ===\n\n";
|
|||
|
|
|
|||
|
|
echo "AI_PROVIDER: " . AI_PROVIDER . "\n";
|
|||
|
|
echo "DIFY_API_KEY: " . DIFY_API_KEY . "\n";
|
|||
|
|
echo "DIFY_API_BASE: " . DIFY_API_BASE . "\n";
|
|||
|
|
echo "DIFY_USER: " . DIFY_USER . "\n\n";
|
|||
|
|
|
|||
|
|
// 测试请求
|
|||
|
|
$url = rtrim(DIFY_API_BASE, '/') . '/chat-messages';
|
|||
|
|
echo "请求URL: {$url}\n\n";
|
|||
|
|
|
|||
|
|
$headers = [
|
|||
|
|
'Content-Type: application/json',
|
|||
|
|
'Authorization: Bearer ' . DIFY_API_KEY,
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
$payload = [
|
|||
|
|
'inputs' => (object)[], // 空对象
|
|||
|
|
'query' => '你好',
|
|||
|
|
'response_mode' => 'blocking',
|
|||
|
|
'user' => DIFY_USER,
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
echo "请求数据:\n";
|
|||
|
|
echo json_encode($payload, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . "\n\n";
|
|||
|
|
|
|||
|
|
$ch = curl_init($url);
|
|||
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
|||
|
|
curl_setopt($ch, CURLOPT_POST, true);
|
|||
|
|
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload, JSON_UNESCAPED_UNICODE));
|
|||
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|||
|
|
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
|
|||
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
|||
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
|||
|
|
curl_setopt($ch, CURLOPT_VERBOSE, true); // 开启详细输出
|
|||
|
|
|
|||
|
|
echo "发送请求...\n";
|
|||
|
|
$response = curl_exec($ch);
|
|||
|
|
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
|||
|
|
$error = curl_error($ch);
|
|||
|
|
curl_close($ch);
|
|||
|
|
|
|||
|
|
echo "HTTP状态码: {$statusCode}\n";
|
|||
|
|
echo "响应内容长度: " . strlen($response) . " 字节\n";
|
|||
|
|
|
|||
|
|
if ($error) {
|
|||
|
|
echo "cURL错误: {$error}\n";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
echo "\n响应内容:\n";
|
|||
|
|
if (empty($response)) {
|
|||
|
|
echo "(空响应)\n\n";
|
|||
|
|
} else {
|
|||
|
|
echo $response . "\n\n";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if ($statusCode == 200) {
|
|||
|
|
if (empty($response)) {
|
|||
|
|
echo "✗ 响应为空\n\n";
|
|||
|
|
echo "可能的原因:\n";
|
|||
|
|
echo "1. Dify应用未发布或已停用\n";
|
|||
|
|
echo "2. API Key不正确\n";
|
|||
|
|
echo "3. response_mode='blocking' 不支持(试试改成 'streaming')\n";
|
|||
|
|
echo "4. Dify服务器问题\n";
|
|||
|
|
} else {
|
|||
|
|
$data = json_decode($response, true);
|
|||
|
|
if (json_last_error() !== JSON_ERROR_NONE) {
|
|||
|
|
echo "✗ JSON解析失败: " . json_last_error_msg() . "\n";
|
|||
|
|
} elseif (isset($data['answer'])) {
|
|||
|
|
echo "✓ 成功!AI回复: " . $data['answer'] . "\n";
|
|||
|
|
} else {
|
|||
|
|
echo "✗ 响应格式错误\n";
|
|||
|
|
echo "JSON内容: " . print_r($data, true) . "\n";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
} else {
|
|||
|
|
echo "✗ 请求失败(HTTP {$statusCode})\n";
|
|||
|
|
}
|