€
$
₴
₽
EN
RU
Vmeste.EU
Ribbon
Catalog
Files
Forums
Services
Main
Radiotalk
Custom
Технологии вещания, софт, скрипты
5 •
Посмотреть все темы
Альтернативная БД у SAM
1
123
Максим
@MoD_X
30.05.2011
Нужно чтобы при падении локального сервера, samphp переключался на БД хостинга.
В конфиге SAMphp есть данная функция, пробовал её включить, не чего не вышло.
Пожалуйста, помогите в решении данной проблемки.
Отредактировано MoD_X -
30.05.2011
73
Freak
@Freak
31.05.2011
А смысл?
Это уже получается дублирующая база данных. Это накладно и неудобно.
Проще сразу подключаться к базе данных хостинга (если конечно хостинг позволяет удаленное подключение).
6245
Тарас
@tarasian666
31.05.2011
делаеться очень просто
Показать текст
mysql_connect(HOSTNAME, USERNAME, PASSWORD) or mysql_connect(HOSTNAME2, USERNAME2, PASSWORD2);
123
Максим
@MoD_X
06.06.2011
Freak
пишет:
А смысл?
Это уже получается дублирующая база данных. Это накладно и неудобно.
Проще сразу подключаться к базе данных хостинга (если конечно хостинг позволяет удаленное подключение).
Смысл в том чтобы не терять посетителей сайта, если упала локалка.
Ни какой нормальный хостинг не будет разрешать доступ к БД удалённо.
tarasian666
пишет:
делается очень просто
Показать текст
mysql_connect(HOSTNAME, USERNAME, PASSWORD) or mysql_connect(HOSTNAME2, USERNAME2, PASSWORD2);
Спасибо, но как проделать данное в файле: dbconfig.xml.php
Показать текст
<CONFIG application="SAM" version="4.7.4">
<Database>
<Driver>MYSQL</Driver>
<Host></Host>
<Port>3306</Port>
<Database>SAMDB</Database>
<Username>root</Username>
<Password>pass</Password>
</Database>
</CONFIG>
Отредактировано MoD_X -
06.06.2011
6245
Тарас
@tarasian666
06.06.2011
MoD_X
пишет:
Спасибо, но как проделать данное в файле: dbconfig.xml.php
там никак, надо найти файл в котором есть строка mysql_connect(......
123
Максим
@MoD_X
06.06.2011
так эта строка заменяется на $db->open
нашёл в \common\metabase\metabase_mysql.php
Line 58: $function=($this->persistent ? "mysql_pconnect" : "mysql_connect");
больше ни чего нет (
6245
Тарас
@tarasian666
06.06.2011
как вариант
Показать текст
if(($this->connection=@$function($this->host.(!strcmp($port,"") ? "" : ":".$port),$this->user,$this->password))<=0 || $this->connection=@$function(host2, user2, password2)<=0)
return($this->SetError("Connect",IsSet($php_errormsg) ? $php_errormsg : "Could not connect to MySQL server"));
вместо
Показать текст
if(($this->connection=@$function($this->host.(!strcmp($port,"") ? "" : ":".$port),$this->user,$this->password))<=0 )
return($this->SetError("Connect",IsSet($php_errormsg) ? $php_errormsg : "Could not connect to MySQL server"));
123
Максим
@MoD_X
06.06.2011
таакс, а где данные на $this->connection=@$function(
host2
,
user2
,
password2
)<=0) должны быть?
123
Максим
@MoD_X
07.06.2011
Ваш вариант не работает, помогите кто ни будь разобраться с
Показать текст
//Настройки УДАЛЕННОЙ MySQL базы данных
//ВНИМАНИЕ: Это - настройки входа в систему базы данных для базы данных, расположенной на ВЕБ СЕРВЕРЕ.
$db->ReadXMLConfig("dbconfig.xml.php");
//Настройки ЛОКАЛЬНОЙ MySQL базы данных
//Эти настройки нужны для того чтобы связать веб сервер и и базу данных SAM'а.
//Это нужно для того, чтобы делать пожелания (dedications) со страници заказа трека.
//$db->ReadXMLConfig("samdb.xml.php");
$samlogin = $db->login; //В большинстве случаев удаленная база данных будет та же самая что и локальная.
Пробовал раскомментировать строки - не получилось подключится к БД хостинга...
6245
Тарас
@tarasian666
07.06.2011
MoD_X
пишет:
таакс, а где данные на $this->connection=@$function(
host2
,
user2
,
password2
)<=0) должны быть?
host2 user2 password2 вписать вручную чтоб не заморачиваться еще с добавлением переменных
если не работает то добавить еще один " if "
123
Максим
@MoD_X
07.06.2011
пробовал в ручную, а куда "if" то добавить, на примере покажите, пожалуйста.
6245
Тарас
@tarasian666
07.06.2011
if(($this->connection=@$function($this->host.(!strcmp($port,"") ? "" : ":".$port),$this->user,$this->password))<=0){
if($this->connection=@$function(host2, user2, password2)<=0)
return($this->SetError("Connect",IsSet($php_errormsg) ? $php_errormsg : "Could not connect to MySQL server"));}
на подобие того, щас точно сказать не могу
123
Максим
@MoD_X
07.06.2011
спасибо, а где мне лучше всего название базы указать?