42 lines
1.1 KiB
PHP
42 lines
1.1 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
header('Content-Type: application/json; charset=utf-8');
|
|
|
|
require_once __DIR__ . '/includes/site.php';
|
|
|
|
$status = site_installation_status();
|
|
if (empty($status['ready'])) {
|
|
http_response_code(503);
|
|
echo json_encode([
|
|
'status' => 'setup_required',
|
|
'php_version' => PHP_VERSION,
|
|
'time_utc' => gmdate('c'),
|
|
'db' => 'setup_required',
|
|
'message' => $status['message'],
|
|
], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
|
|
exit;
|
|
}
|
|
|
|
try {
|
|
init_blog_storage();
|
|
$count = post_count();
|
|
|
|
http_response_code(200);
|
|
echo json_encode([
|
|
'status' => 'ok',
|
|
'php_version' => PHP_VERSION,
|
|
'time_utc' => gmdate('c'),
|
|
'posts' => $count,
|
|
'db' => 'ok',
|
|
], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
|
|
} catch (Throwable $exception) {
|
|
http_response_code(503);
|
|
echo json_encode([
|
|
'status' => 'error',
|
|
'php_version' => PHP_VERSION,
|
|
'time_utc' => gmdate('c'),
|
|
'db' => 'error',
|
|
], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
|
|
}
|