82 lines
3.1 KiB
PHP
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'>✔ 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'>✘ 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>
|