From 16451963ff1b7f8060475f5bfc4a2ccd9af754e7 Mon Sep 17 00:00:00 2001 From: kimbokon Date: Sun, 4 Jan 2026 16:14:42 +0900 Subject: [PATCH] =?UTF-8?q?=EC=84=9C=EB=B2=84=20=EB=82=B4=20.env=20?= =?UTF-8?q?=ED=8C=8C=EC=9D=BC=20=EC=9C=84=EC=B9=98=20=ED=99=95=EC=9D=B8?= =?UTF-8?q?=EC=9A=A9=20=EC=8A=A4=EC=BA=90=EB=84=88=20=EC=97=85=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fix_env.php | 80 ++++++++++++++++++----------------------------------- 1 file changed, 27 insertions(+), 53 deletions(-) diff --git a/fix_env.php b/fix_env.php index b2fa317..3ab064c 100644 --- a/fix_env.php +++ b/fix_env.php @@ -1,61 +1,35 @@ PDO::ERRMODE_EXCEPTION]); - echo "SUCCESS!\n"; - - if (isset($_GET['fix']) && $_GET['fix'] === 'true') { - $newEnv = "APP_URL=https://sales.codebridge-x.com/\n"; - $newEnv .= "DB_HOST=$host\n"; - $newEnv .= "DB_NAME=$db_name\n"; - $newEnv .= "DB_USER=$db_user\n"; - $newEnv .= "DB_PASS=$db_pass\n"; - $newEnv .= "DOCUMENT_ROOT=" . str_replace('\\', '/', __DIR__) . "\n"; - file_put_contents($envPath, $newEnv); - echo "Successfully updated .env file.\n"; +function searchEnv($dir, $depth = 0) { + if ($depth > 2) return; + echo "Scanning: $dir\n"; + if (!is_dir($dir)) return; + + $files = scandir($dir); + foreach ($files as $file) { + if ($file === '.' || $file === '..') continue; + if (strpos($file, '.env') !== false) { + echo "[FOUND] $dir/$file\n"; + $content = file_get_contents("$dir/$file"); + echo "--- Content of $file ---\n"; + foreach (explode("\n", $content) as $line) { + if (trim($line) === '') continue; + if (strpos($line, 'DB_PASS') !== false || strpos($line, 'PASSWORD') !== false) { + echo explode('=', $line)[0] . "=********\n"; + } else { + echo $line . "\n"; + } + } + echo "------------------------\n"; } - } catch (Exception $e) { - echo "FAILED: " . $e->getMessage() . "\n"; } + searchEnv(dirname($dir), $depth + 1); } -echo "\n만약 위 테스트가 모두 실패한다면, 서버의 실제 DB 정보를 여기에 입력해 보세요:\n"; -echo "URL 예시: fix_env.php?user=사용자id&pass=비밀번호&db=db이름\n"; +searchEnv(__DIR__); -if (isset($_GET['user'])) { - $u = $_GET['user']; - $p = $_GET['pass'] ?? ''; - $d = $_GET['db'] ?? 'chandj'; - echo "\nCustom Test: [$u] / [$p] on [localhost]... "; - try { - $dsn = "mysql:host=localhost;dbname=$d;charset=utf8mb4"; - $pdo = new PDO($dsn, $u, $p, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]); - echo "SUCCESS!\n"; - if (isset($_GET['fix']) && $_GET['fix'] === 'true') { - $newEnv = "DB_HOST=localhost\nDB_NAME=$d\nDB_USER=$u\nDB_PASS=$p\nDOCUMENT_ROOT=" . __DIR__ . "\n"; - file_put_contents($envPath, $newEnv); - echo "Updated .env with custom credentials.\n"; - } - } catch (Exception $e) { - echo "FAILED: " . $e->getMessage() . "\n"; - } -} +echo "\n=== Permissions Check ===\n"; +echo "Web User: " . posix_getpwuid(posix_geteuid())['name'] . "\n"; +echo "Directory writable: " . (is_writable(__DIR__) ? "YES" : "NO") . "\n";