Failed to send internal share email {"error":"Expected response code \"250\" but got code \"554\", with message \"554 Message rejected: Email address...
Failed to send internal share email {"error":"Expected response code \"250\" but got code \"554\", with message \"554 Message rejected: Email address is not verified. The following identities failed the check in region AP-SOUTHEAST-1: sharon@gmail.com, XDocs DMS <xdocs@web-server.online>, xdocs@web-server.online\".","target_type":"folder","target_id":85,"recipient":"sharon@gmail.com"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-...
Call to undefined function getRecentLogs() {"exception":"[object] (Error(code: 0): Call to undefined function getRecentLogs() at laravel-serializable-closure://function () {
// Database status
try {
\\Illuminate\\Support\\Facades\\DB::connection()->getPdo();
$dbStatus = 'Connected';
} catch (\\Exception $e) {
$dbStatus = 'Error: ' . $e->getMessage();
}
// Redis status - check if phpredis extension is available
$redisStatus = 'Not Installed';
$redisInfo = null;
if (\\extension_loaded('redis') && \\config('database.redis.default.host')) {
try {
\\Illuminate\\Support\\Facades\\Redis::ping();
$redisStatus = 'Connected';
$redisInfo = [
'host' => \\config('database.redis.default.host'),
'port' => \\config('database.redis.default.port'),
];
} catch (\\Throwable $e) {
$redisStatus = 'Not Running';
}
} elseif (\\config('database.redis.default.host')) {
$redisStatus = 'Extension Missing';
}
// Queue status
$queueConnection = \\config('queue.default');
$pendingJobs = 0;
$failedJobs = [];
$recentJobs = [];
try {
// Get pending jobs count
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('jobs')) {
$pendingJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')->count();
$recentJobs = \\Illuminate\\Support\\Facades\\DB::table('jobs')
->orderBy('created_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'attempts' => $job->attempts,
'created_at' => \\date('Y-m-d H:i:s', $job->created_at),
];
});
}
// Get failed jobs
if (\\Illuminate\\Support\\Facades\\DB::getSchemaBuilder()->hasTable('failed_jobs')) {
$failedJobs = \\Illuminate\\Support\\Facades\\DB::table('failed_jobs')
->orderBy('failed_at', 'desc')
->limit(5)
->get()
->map(function ($job) {
$payload = \\json_decode($job->payload, true);
return [
'id' => $job->id,
'uuid' => $job->uuid,
'queue' => $job->queue,
'job' => $payload['displayName'] ?? 'Unknown',
'failed_at' => $job->failed_at,
'exception' => \\Illuminate\\Support\\Str::limit($job->exception, 200),
];
});
}
} catch (\\Exception $e) {
// Tables might not exist
}
// Cache status
$cacheDriver = \\config('cache.default');
$cacheStatus = 'Unknown';
try {
\\Illuminate\\Support\\Facades\\Cache::put('_health_check', true, 10);
$cacheStatus = \\Illuminate\\Support\\Facades\\Cache::get('_health_check') ? 'Working' : 'Failed';
\\Illuminate\\Support\\Facades\\Cache::forget('_health_check');
} catch (\\Exception $e) {
$cacheStatus = 'Error';
}
// Recent logs (last 30 error entries)
$recentLogs = \\getRecentLogs(30);
$memoryUsage = \\round(\\memory_get_usage() / 1024 / 1024, 2) . ' MB';
$diskFree = \\round(\\disk_free_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$diskTotal = \\round(\\disk_total_space(\\storage_path()) / 1024 / 1024 / 1024, 2) . ' GB';
$modules = [
'Authentication' => 'Active',
'Admin Management' => 'Active',
'Folder Management' => 'Active',
'File Management' => 'Active',
'Sharing System' => 'Active',
'Search Engine' => 'Active',
'Email & Notifications' => 'Active',
];
return \\view('status', [
'dbStatus' => $dbStatus,
'runningAt' => \\now()->toDateTimeString() . ' (' . \\config('app.timezone') . ')',
'memory' => $memoryUsage,
'storage' => \"{$diskFree} Free / {$diskTotal} Total\",
'modules' => $modules,
'appUrl' => \\config('app.url'),
// New service status
'redisStatus' => $redisStatus,
'redisInfo' => $redisInfo,
'queueConnection' => $queueConnection,
'pendingJobs' => $pendingJobs,
'recentJobs' => $recentJobs,
'failedJobs' => $failedJobs,
'cacheDriver' => $cacheDriver,
'cacheStatus' => $cacheStatus,
'recentLogs' => $recentLogs,
]);
}:89)
[stacktrace]
#0 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php(39): Illuminate\\Routing\\RouteFileRegistrar::{closure}()
#1 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(243): Illuminate\\Routing\\CallableDispatcher->dispatch()
#2 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Route.php(214): Illuminate\\Routing\\Route->runCallable()
#3 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#4 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#5 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#6 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#7 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#9 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#11 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#13 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#14 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#16 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#18 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#20 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#21 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#22 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#23 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#24 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#25 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#27 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#28 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#29 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#30 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#31 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#32 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#33 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#35 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(48): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\HandleCors->handle()
#37 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#39 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()
#41 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePathEncoding->handle()
#43 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#45 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#46 /var/www/xdocs/xdocs-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1220): Illuminate\\Foundation\\Http\\Kernel->handle()
#47 /var/www/xdocs/xdocs-backend/public/index.php(20): Illuminate\\Foundation\\Application->handleRequest()
#48 {main}
"}