$value) { if (strtolower($key) === 'token') { $token = $value; break; } elseif (strtolower($key) === 'authorization') { $authHeader = $value; } } // 如果没有找到Token头,处理Authorization头 if (empty($token) && !empty($authHeader)) { // 支持Bearer token格式 if (strpos($authHeader, 'Bearer ') === 0) { $token = substr($authHeader, 7); } elseif (strpos($authHeader, 'bearer ') === 0) { $token = substr($authHeader, 7); } } return $token; } // 模拟getAllHeaders的不同输出格式 function simulateGetAllHeaders($headerString) { $parts = explode(': ', $headerString); if (count($parts) === 2) { return [$parts[0] => $parts[1]]; } return []; } echo "=== Token提取测试 ===\n\n"; foreach ($testCases as $index => $testCase) { echo "测试案例 " . ($index + 1) . ": $testCase\n"; $headers = simulateGetAllHeaders($testCase); $extractedToken = testTokenExtraction($headers); echo "提取的token: " . ($extractedToken ?: '(空)') . "\n"; echo "是否成功: " . ($extractedToken === '4187d077ba6ba7b654075a16e615fac0' ? '✅' : '❌') . "\n"; echo "---\n"; } // 测试实际的HTTP环境 echo "\n=== 实际HTTP环境测试 ===\n"; // 模拟$_SERVER环境 $_SERVER['HTTP_AUTHORIZATION'] = 'Bearer 4187d077ba6ba7b654075a16e615fac0'; // 模拟getAllHeaders函数不存在的情况 function testGetAllHeadersFromServer() { $headers = array(); foreach ($_SERVER as $key => $value) { if (strpos($key, 'HTTP_') === 0) { $header = str_replace('_', '-', substr($key, 5)); $header = ucwords(strtolower($header), '-'); $headers[$header] = $value; } } return $headers; } $serverHeaders = testGetAllHeadersFromServer(); echo "从\$_SERVER提取的headers: " . json_encode($serverHeaders, JSON_UNESCAPED_UNICODE) . "\n"; $finalToken = testTokenExtraction($serverHeaders); echo "最终提取的token: " . ($finalToken ?: '(空)') . "\n"; echo "测试结果: " . ($finalToken === '4187d077ba6ba7b654075a16e615fac0' ? '✅ 成功' : '❌ 失败') . "\n"; ?>