File size: 2,039 Bytes
240bcc5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php

// db_test.php

header('Content-Type: text/plain');



echo "1. PHP is working.\n";



// config.phpの存在確認

if (!file_exists('config.php')) {

    die("2. ERROR: config.php not found");

}



echo "2. config.php found.\n";



// config.phpの読み込みテスト

try {

    require 'config.php';

    echo "3. config.php loaded successfully.\n";

    echo "   - DB_HOST: " . (defined('DB_HOST') ? DB_HOST : 'NOT DEFINED') . "\n";

    echo "   - DB_NAME: " . (defined('DB_NAME') ? DB_NAME : 'NOT DEFINED') . "\n";

    echo "   - DB_USER: " . (defined('DB_USER') ? DB_USER : 'NOT DEFINED') . "\n";

    echo "   - DB_PASS: " . (defined('DB_PASS') ? '*****' : 'NOT DEFINED') . "\n";

} catch (Exception $e) {

    die("3. ERROR loading config.php: " . $e->getMessage());

}



// PDO拡張の確認

if (!extension_loaded('pdo')) {

    die("4. ERROR: PDO extension not loaded");

}

if (!extension_loaded('pdo_mysql')) {

    die("4. ERROR: PDO_MySQL extension not loaded");

}

echo "4. PDO and PDO_MySQL extensions loaded.\n";



// データベース接続テスト

try {

    $dsn = 'mysql:host=' . DB_HOST . ';dbname=' . DB_NAME . ';charset=utf8mb4';

    $options = [

        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,

        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,

        PDO::ATTR_EMULATE_PREPARES => false,

    ];

    

    echo "5. Attempting to connect to database...\n";

    echo "   - DSN: " . $dsn . "\n";

    echo "   - User: " . DB_USER . "\n";

    

    $pdo = new PDO($dsn, DB_USER, DB_PASS, $options);

    echo "6. Database connection successful!\n";

    

    // 簡単なクエリで接続を確認

    $stmt = $pdo->query("SELECT 1 AS test");

    $result = $stmt->fetch();

    echo "7. Test query result: " . ($result['test'] === 1 ? 'OK' : 'FAILED') . "\n";

    

} catch (PDOException $e) {

    die("6. ERROR: Database connection failed - " . $e->getMessage());

}



echo "All tests passed successfully!\n";