0

PHP データベース接続を変更して、別のサーバーへのフェイルオーバー接続を含めようとしています。この質問が出されたことは知っていますが、うまくいかないようです。ここに私がこれまでに持っているコードがあります。

$serverA 用に構成された両方のサーバーから望ましい結果が得られるため、バックアップ サーバーと本番サーバーの両方が機能することがわかっています。機能していないのはフェイルオーバー コンポーネントです。

<?php

    $serverA = "mysiteA.dyndns.org:3306";
    $serverB = "mysiteB.no-ip.biz:3306";
    $user="myuser";
    $password="mypass";  
    $database = "mydb";

    $connection = mysql_connect($serverA,$user,$password);

    if (!($connection)) {
    $connection = mysql_connect($serverB,$user,$password); 
    };

    $db = mysql_select_db($database,$connection);  

    $query = "SELECT listener_snapshot FROM listener_incr";
    $result = mysql_query($query);        

    $i = -60;

    while($row = mysql_fetch_assoc($result))
    {
        $dataset1[] = array($i,$row['listener_snapshot']);
        $i++;
    }
    $final = json_encode($dataset1,JSON_NUMERIC_CHECK);
    echo $final;
?> 

PHP エラー ファイルには、失敗した最初の接続試行以外は何も表示されません。編集: 最初の失敗は、2 番目のサーバーにフェールオーバーしたいので、私のテストでは設計によるものです。そのため、serverA で MySQL を強制終了しました。

4

1 に答える 1