Files
acaoopcao/server.php
T
2026-08-21 22:57:44 +00:00

82 lines
3.1 KiB
PHP

<?php
// ATENÇÃO: este arquivo é só para diagnóstico.
// Ele expõe a senha do banco. Apague-o (junto com phpinfo.php) assim que terminar o teste.
$host = 'database';
$user = 'root';
$pass = 'Josim@r230976';
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title>Diagnóstico do servidor</title>
<style>
body{font-family:-apple-system,Segoe UI,Roboto,sans-serif;background:#0f172a;color:#e5e7eb;padding:32px;}
h1{color:#38bdf8;font-size:20px;border-bottom:1px solid #334155;padding-bottom:8px;}
.ok{color:#4ade80;font-weight:bold;}
.fail{color:#f87171;font-weight:bold;}
table{border-collapse:collapse;width:100%;margin-top:10px;}
td,th{border:1px solid #334155;padding:6px 10px;text-align:left;font-size:14px;color:#e5e7eb;}
.card{background:#111827;border:1px solid #1e293b;border-radius:10px;padding:20px;margin-bottom:24px;}
a.btn{display:inline-block;background:#38bdf8;color:#0f172a;padding:8px 16px;border-radius:6px;text-decoration:none;font-weight:bold;}
</style>
</head>
<body>
<div class="card">
<h1>1. Teste de conexão com o banco de dados</h1>
<?php
try {
$pdo = new PDO("mysql:host=$host;charset=utf8mb4", $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "<p class='ok'>&#10004; Conexão bem-sucedida com o host '$host'.</p>";
$version = $pdo->query("SELECT VERSION() AS v")->fetch(PDO::FETCH_ASSOC);
echo "<p><strong>Versão do servidor de banco:</strong> " . htmlspecialchars($version['v']) . "</p>";
$dbs = $pdo->query("SHOW DATABASES")->fetchAll(PDO::FETCH_COLUMN);
echo "<p><strong>Bancos de dados disponíveis:</strong></p><ul>";
foreach ($dbs as $db) {
echo "<li>" . htmlspecialchars($db) . "</li>";
}
echo "</ul>";
} catch (PDOException $e) {
echo "<p class='fail'>&#10008; Falha na conexão: " . htmlspecialchars($e->getMessage()) . "</p>";
}
?>
</div>
<div class="card">
<h1>2. Informações resumidas do PHP</h1>
<table>
<?php
$rows = [
'Versão do PHP' => phpversion(),
'Servidor (SAPI)' => php_sapi_name(),
'Sistema operacional' => php_uname(),
'Document root' => $_SERVER['DOCUMENT_ROOT'] ?? '-',
'Extensão pdo_mysql ativa' => extension_loaded('pdo_mysql') ? 'sim' : 'não',
'Extensão mysqli ativa' => extension_loaded('mysqli') ? 'sim' : 'não',
'Limite de memória' => ini_get('memory_limit'),
'Upload máximo' => ini_get('upload_max_filesize'),
'Post máximo' => ini_get('post_max_size'),
'Timezone' => date_default_timezone_get(),
];
foreach ($rows as $k => $v) {
echo "<tr><td>" . htmlspecialchars($k) . "</td><td>" . htmlspecialchars((string)$v) . "</td></tr>";
}
?>
</table>
</div>
<div class="card">
<h1>3. Configurações completas do PHP</h1>
<p>O <code>phpinfo()</code> tem estilo próprio que bagunça o layout desta página, então ele fica isolado em outra página:</p>
<a class="btn" href="phpinfo.php" target="_blank" rel="noopener">Abrir phpinfo() completo</a>
</div>
</body>
</html>