20 lines
2.6 KiB
PHP
20 lines
2.6 KiB
PHP
<?php
|
|
require_once __DIR__ . '/includes/functions.php';
|
|
$disabled = array_filter(array_map('trim', explode(',', (string)ini_get('disable_functions'))));
|
|
$pdoDrivers = class_exists('PDO') ? PDO::getAvailableDrivers() : [];
|
|
$checks = [
|
|
['PHP version', PHP_VERSION, version_compare(PHP_VERSION, '7.0.0', '>=')],
|
|
['PDO extension', extension_loaded('PDO') ? 'present' : 'missing', extension_loaded('PDO')],
|
|
['PDO SQLite', in_array('sqlite', $pdoDrivers, true) ? 'present' : 'missing', extension_loaded('PDO') && in_array('sqlite', $pdoDrivers, true)],
|
|
['OpenSSL', extension_loaded('openssl') ? 'present' : 'missing', extension_loaded('openssl')],
|
|
['JSON', extension_loaded('json') ? 'present' : 'missing', extension_loaded('json')],
|
|
['proc_open', function_exists('proc_open') ? 'enabled' : 'disenabled', function_exists('proc_open')],
|
|
['shell_exec/exec', (function_exists('shell_exec') || function_exists('exec')) ? 'almeno uno enabled' : 'both disabled', (function_exists('shell_exec') || function_exists('exec'))],
|
|
['Data dir', bg_data_dir(), is_writable(bg_data_dir())],
|
|
['Config', is_file(__DIR__ . '/config.php') ? 'present' : 'missing: setup.php will open', true],
|
|
];
|
|
$log = '/tmp/bastionguard-webui-php-error.log';
|
|
$logTail = is_readable($log) ? implode("\n", array_slice(file($log, FILE_IGNORE_NEW_LINES), -80)) : '';
|
|
?><!doctype html>
|
|
<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>BastionGuard WebUI Health</title><link href="assets/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet"></head>
|
|
<body class="bg-light"><main class="container py-4"><h1>BastionGuard WebUI - diagnostics</h1><p class="text-muted">This page helps diagnose blank pages or PHP issues.</p><div class="card"><div class="card-body"><table class="table align-middle"><thead><tr><th>Check</th><th>Value</th><th>Result</th></tr></thead><tbody><?php foreach($checks as $c): ?><tr><td><?= bg_e($c[0]) ?></td><td><code><?= bg_e($c[1]) ?></code></td><td><?= $c[2] ? '<span class="badge text-bg-success">OK</span>' : '<span class="badge text-bg-danger">Issue</span>' ?></td></tr><?php endforeach; ?></tbody></table></div></div><div class="card mt-3"><div class="card-body"><h5>Disabled PHP functions</h5><pre><?= bg_e($disabled ? implode(', ', $disabled) : 'none declared') ?></pre></div></div><div class="card mt-3"><div class="card-body"><h5>Latest WebUI errors</h5><pre><?= bg_e($logTail ?: 'No errors in ' . $log) ?></pre></div></div><p class="mt-3"><a href="index.php" class="btn btn-primary">Back to WebUI</a></p></main></body></html>
|