[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Если упал сервер, подключиться к другому
Undertaker
Доброго времени суток, уважаемые форумчане, у меня снова проблема (гугл не отвечает мне) и я снова на форуме.
Возникла проблема, пытаюсь я подключиться к LDAP и в момент когда я подключаюсь к серверу я решил его "положить" т.е. написал
$connect = ldap_connect("0.0.0.0000") or die ("no");

и вот в чём проблема эта пакость мне говорит что процесс не помер, делает вид что он подключился только вывел пустую таблицу.
Вот сам вопрос: как проверить упал ли сервер (настоящий) и если упал то подключиться к другому.
$connect = ldap_connect("0.0.0.0") если упал то $connect = ldap_connect("1.2.3.4")




Спустя 39 минут, 39 секунд (17.02.2012 - 09:16) alexbel2404 написал(а):
через сокеты подключись на порт ldap сервера, если лежит, то по идее выдаст ошибку.

Спустя 19 минут, 54 секунды (17.02.2012 - 09:36) Undertaker написал(а):
alexbel2404
Цитата
через сокеты подключись на порт ldap сервера, если лежит, то по идее выдаст ошибку.

blink.gif не понятно, можно подробнее?

Спустя 46 минут, 35 секунд (17.02.2012 - 10:22) alexbel2404 написал(а):

Спустя 2 дня, 20 часов, 29 минут, 6 секунд (20.02.2012 - 06:51) Undertaker написал(а):
Решил сделать через if{...} else{...}. Конечно получилось что один и тот же код повторяется 2 раза...

$connect = ldap_connect("0.1.2.2");

//установить значение данной опции используется LDAPv3
ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
//установить значение данной опции используется LDAPv3
ldap_set_option($connect, LDAP_OPT_REFERRALS, 0); //данная строка необходима для пользователя
$bind = ldap_bind($connect, $ldap_user, $ldap_pass); // авторизируемся
$read = ldap_search($connect, "ou=user,dc=ufpsomsk,dc=local", $filter, $fields ); //установка параметров поиска
if ( $info = ldap_get_entries($connect, $read) ) //если результат получен
{
for( $ligne = 0; $ligne<$info["count"]; $ligne++) //выводит данные пока $lnge не будет = количеству строк массива
{
$displayname = @iconv( 'UTF-8', 'utf-8', $info[$ligne][$fields[0]][0] ); //меняем кодировку и записываем в ячейку массива
$title = @iconv( 'UTF-8', 'utf-8', $info[$ligne][$fields[1]][0] );
$department = @iconv( 'UTF-8', 'utf-8', $info[$ligne][$fields[2]][0] );
$phone = @$info[$ligne][$fields[3]][0]; //записываем в ячейку массива
$hphone = @$info[$ligne][$fields[4]][0];
$mobile = @iconv('UTF-8', 'utf-8', $info[$ligne][$fields[5]][0]);
$mail = @$info[$ligne][$fields[6]][0];
$kab = @$info[$ligne][$fields[7]][0];
$ip = @iconv('UTF-8', 'utf-8', $info[$ligne][$fields[8]][0]);

if ($displayname == "") {$displayname = "none";} //если значение пустое пишем none
if ($title == "") {$title = "none";}
if ($department == "") {$department = "none";}
if ($phone == "") {$phone = "none";}
if ($hphone == "") {$hphone = "none";}
if ($mobile == "") {$mobile = "none";}
if ($mail == "") {$mail = "none";}
if ($kab == "") {$kab = "none";}
if ($ip == "") {$ip = "none";}


// if ( isset($mail) )
//записываем таблицу в ячейку результ

$result .= '<tr><td bgcolor=#F4F9F3><h6>'.$displayname.'</h6></td>'
.'<td bgcolor=#F4F9F3>'.$title.'</td>'
.'<td bgcolor=#F4F9F3><p> '.$department.'</p></td>'
.'<td bgcolor=#F4F9F3><p> '.$phone.'</p></td>'
.'<td bgcolor=#F4F9F3><p> '.$hphone.'</p></td>'
.'<td bgcolor=#F4F9F3><p> '.$mobile.'</p></td>'
.'<td bgcolor=#F4F9F3><p><a href="mailto:'.$mail.'">'.$mail.'</a></p></td>'
.'<td bgcolor=#F4F9F3><p> '.$kab.'</p></td>'
.'<td bgcolor=#F4F9F3><p> '.$ip.'</p></td></tr>';
}
}
else
{ $connect = ldap_connect("1.1.2.2");
//установить значение данной опции используется LDAPv3
ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
//установить значение данной опции используется LDAPv3
ldap_set_option($connect, LDAP_OPT_REFERRALS, 0); //данная строка необходима для пользователя
$bind = ldap_bind($connect, $ldap_user, $ldap_pass); // авторизируемся
$read = ldap_search($connect, "ou=user,dc=ufpsomsk,dc=local", $filter, $fields ); //установка параметров поиска
if ( $info = ldap_get_entries($connect, $read) ) //если результат получен
{
for( $ligne = 0; $ligne<$info["count"]; $ligne++) //выводит данные пока $lnge не будет = количеству строк массива
{
$displayname = @iconv( 'UTF-8', 'utf-8', $info[$ligne][$fields[0]][0] ); //меняем кодировку и записываем в ячейку массива
$title = @iconv( 'UTF-8', 'utf-8', $info[$ligne][$fields[1]][0] );
$department = @iconv( 'UTF-8', 'utf-8', $info[$ligne][$fields[2]][0] );
$phone = @$info[$ligne][$fields[3]][0]; //записываем в ячейку массива
$hphone = @$info[$ligne][$fields[4]][0];
$mobile = @iconv('UTF-8', 'utf-8', $info[$ligne][$fields[5]][0]);
$mail = @$info[$ligne][$fields[6]][0];
$kab = @$info[$ligne][$fields[7]][0];
$ip = @iconv('UTF-8', 'utf-8', $info[$ligne][$fields[8]][0]);

if ($displayname == "") {$displayname = "none";} //если значение пустое пишем none
if ($title == "") {$title = "none";}
if ($department == "") {$department = "none";}
if ($phone == "") {$phone = "none";}
if ($hphone == "") {$hphone = "none";}
if ($mobile == "") {$mobile = "none";}
if ($mail == "") {$mail = "none";}
if ($kab == "") {$kab = "none";}
if ($ip == "") {$ip = "none";}


// if ( isset($mail) )
//записываем таблицу в ячейку результ

$result .= '<tr><td bgcolor=#F4F9F3><h6>'.$displayname.'</h6></td>'
.'<td bgcolor=#F4F9F3>'.$title.'</td>'
.'<td bgcolor=#F4F9F3><p> '.$department.'</p></td>'
.'<td bgcolor=#F4F9F3><p> '.$phone.'</p></td>'
.'<td bgcolor=#F4F9F3><p> '.$hphone.'</p></td>'
.'<td bgcolor=#F4F9F3><p> '.$mobile.'</p></td>'
.'<td bgcolor=#F4F9F3><p><a href="mailto:'.$mail.'">'.$mail.'</a></p></td>'
.'<td bgcolor=#F4F9F3><p> '.$kab.'</p></td>'
.'<td bgcolor=#F4F9F3><p> '.$ip.'</p></td></tr>';
}
}
}

ldap_close($connect); //закрываем соединение

print $result.'</table><br>'; //печтаем результ

но работает безотказно... Дабы его оптимизировать можно инклудить или написать процедуру... В общем на вкус и цвет как говориться


_____________
Из отчета службы безопасности:
... по поводу взлома китайцами сервера Пентагона:
1) Каждый китаец попробовал один пароль.
2) Каждый второй пароль был - maodzedun.
3) На 657983241-й попытке сервер согласился что у него пароль - maodzedun
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.