如何检测某个IP目前是否与PHP和MySQL连接?

时间:2013-06-04 17:58:51

标签: php mysql

问题:如果一个或多个服务器未连接到网络,我如何在一个PHP文件中放入2个或更多数据库连接?

故事情节 很抱歉,如果这个问题已经存在,但我已经搜索过了,但我仍然不太明白..

所以,我正在尝试使用MySQL创建一个简单的分布式数据库系统,而且我没有使用任何复杂的东西,因为我是一个完整的初学者...... 我在MySQL上使用标准连接(mysql_connect)...在我把它作为包含文件... 因为它是一个分布式数据库,如果其中一个连接失败,在一个网站中就会有多个连接尝试...

像这样,我做了两个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作为数据库制作了第二个... 我把它放在网站上使用if ..

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

我故意关闭/切断第一台服务器上的连接...所以如果第一次连接尝试失败,它将转到第二台... 但它最终显示错误“试图连接到一个未成熟的主机”,我忘记了细节,但这样的东西......并没有显示任何其他...

所以我试图关闭第二台服务器...... 我认为结果会有所不同,它必须显示正常结果,因为第一次连接没有失败......但结果是,网站仍然显示相同的警告错误..

所以我只是想到不是使用那些连接文件,我必须放一个IP跟踪代码来检查其他服务器是否在线,然后调用连接文件......

或者是另一种方式......?

很抱歉,如果您不理解我的问题,请告诉我,如果我的问题有点混乱.. 并谢谢..

1 个答案:

答案 0 :(得分:0)

为什么你的服务器坏了?理想情况下,如果您有多个MySQL数据库,您将拥有多个数据库服务器,并在数据库之间进行某种同步。

每个网络服务器应该有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