0

質問: 1 つまたは複数のサーバーがネットワークに接続していない場合、2 つ以上のデータベース接続を 1 つの PHP ファイルに入れるにはどうすればよいですか?

ストーリーライン この質問が既に存在する場合は申し訳ありませんが、私はすでにそれを検索しましたが、まだよくわかりません..

だから、私は MySQL を使用して単純な分散データベース システムを作成しようとしています。私は完全な初心者なので、複雑なものは使用していません... MySQL で標準接続 (mysql_connect) を使用しています...インクルードファイルとして配置します...これは分散データベースであるため、接続の1つが失敗した場合、1つのWebサイトで複数の接続試行が行われます...

このように、2つのconnファイルを作成しました..これは単なる例ですが.

<?php
$server="192.168.0.3";
$user="user";
$pass="pass";
$db="db_1";

$conn = mysql_connect($server,$user,$pass);
if(!$conn) die "connection error";
$sel_db = mysql_select_db($db,$conn);
if(!sel_db) die "wrong db";
?>

だから私はデータベースとしてdb_2で2番目のものを作りました...そして私はifを使ってウェブサイトに置きました..

<?php
require_once "conn_1.php";
if (empty($conn)) {
   require_once "conn_2.php";
}
?>

そして、最初のサーバーで意図的に接続を閉じたり切断したりします...最初の接続試行が失敗した場合、2番目の接続に進みます..しかし、「存在しないホストに接続しようとしています」というエラーが表示されました。詳細は忘れましたが、そのようなもの...そして他には何も表示されませんでした..

だから私は2番目のサーバーを閉じようとしました...結果は異なると思いました.最初の接続は失敗しなかったので、通常の結果を表示する必要があります...しかし、結果は、ウェブサイトはまだ同じ警告を示していましたエラー..

そのため、これらの接続ファイルを使用する代わりに、他のサーバーがオンラインかどうかを確認するために IP 追跡コードを配置し、接続ファイルを呼び出す必要があると考えました...

それとも別の方法ですか...?

私の質問を理解していない場合は申し訳ありませんが、私の質問が少し混乱している場合は教えてください..そしてありがとう..

4

1 に答える 1

0

サーバーがダウンしているのはなぜですか? 理想的には、複数の MySQL データベースがある場合、複数のデータベース サーバーがあり、データベース間で何らかの同期が行われます。

各 Web サーバーには 1 つのデータベース サーバーが必要です。データベース サーバーはすべて、1 つのマスター データベース サーバーによって更新される必要があります。

あなたの質問にもっと直接的に答える

$conn = mysql_connect($server,$user,$pass);
if(!$conn) {

// NOW try and connect to somewhere else
$conn = mysql_connect($server2,$user,$pass);
}

また、mysql_* 関数はもう使用しないでください。mysqli_ ( http://php.net/manual/en/book.mysqli.php ) または pdo ( http://php.net/manual/en/book.pdo. php )

于 2013-06-04T18:06:30.260 に答える