Files
CFDivePlatform/routes/web.php
T
a620906209 54dd4bb7a6 feat: 新增 /health 端點供 UptimeRobot 監控
檢查 DB 連線、Redis ping、Cache 讀寫,任一失敗回傳 503。
回應包含 timestamp、environment、PHP/Laravel 版本、記憶體用量。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 01:57:04 +08:00

41 lines
1.1 KiB
PHP

<?php
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Redis;
use Illuminate\Support\Facades\Route;
Route::get('/health', function () {
$checks = ['db' => false, 'redis' => false, 'cache' => false];
try {
DB::connection()->getPdo();
$checks['db'] = true;
} catch (\Throwable) {}
try {
Redis::ping();
$checks['redis'] = true;
} catch (\Throwable) {}
try {
cache()->put('health_check', 'ok', 5);
$checks['cache'] = cache()->get('health_check') === 'ok';
} catch (\Throwable) {}
$healthy = $checks['db'] && $checks['redis'] && $checks['cache'];
return response()->json([
'status' => $healthy ? 'ok' : 'degraded',
'timestamp' => now()->toIso8601String(),
'environment' => app()->environment(),
'php_version' => PHP_VERSION,
'laravel' => app()->version(),
'memory_mb' => round(memory_get_usage(true) / 1024 / 1024, 2),
'checks' => $checks,
], $healthy ? 200 : 503);
});
Route::get('/', function () {
return view('welcome');
});