Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Бэкап через функцию php / 25 сообщений из 36, страница 1 из 2
04.11.2013, 13:27:03
    #38451754
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
Добрый вечер
Решил ради интереса сделать бэкап функцией php http://www.php.net/manual/en/function.ibase-backup.php

соответственно мой код:


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<?php
$dbase = ibase_pconnect ('localhost:c:\WebServers\home\interbase.ru\www\FBASE.FDB','SYSDBA','masterkey') or die ('Ошибка соединения с Firebird');

$service = ibase_service_attach('localhost', 'sysdba', 'masterkey');
ibase_backup($service,'localhost:c:\WebServers\home\interbase.ru\www\FBASE.FDB','D:\FBASE.FDK');
ibase_service_detach ($service);

?>

После запуска ни ошибки,ни файла бэкапа. Что я не так делаю?
...
Рейтинг: 0 / 0
04.11.2013, 13:29:45
    #38451757
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
Gallemar,

может вот так попробовать

Код: php
1.
2.
3.
4.
5.
6.
<?php
$service = ibase_service_attach('localhost', 'sysdba', 'masterkey');
ibase_backup($service, 'c:\WebServers\home\interbase.ru\www\FBASE.FDB', 'D:\FBASE.FDK');
ibase_service_detach ($service);

?>
...
Рейтинг: 0 / 0
04.11.2013, 13:41:09
    #38451767
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
Симонов Денис,спасибо,работает. Ещё спросить можно?
...
Рейтинг: 0 / 0
04.11.2013, 13:48:59
    #38451770
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
Gallemar,

да спрашивай конечно.
...
Рейтинг: 0 / 0
04.11.2013, 14:01:04
    #38451786
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
Симонов Денис, пробую писать простую CMS php+fb, в принципе отличие от обычного сайта mysql&php только другая БД. Функции ibase_ во многом аналогичные mysql (mysql_query -> ibase_query ,mysql_fetch_array -> ibase_fetch_row). В принципе для работы CMS можно не заморачиваться с транзакциями и работать только с ibase_query не используя ibase_trans и ibase_commit/ibase_rollback?
...
Рейтинг: 0 / 0
04.11.2013, 14:01:12
    #38451787
zirra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
On Mon, 04 Nov 2013 14:27:03 +0400, Gallemar <nospam@sql.ru>; wrote:

> Автор: Gallemar
> Добрый вечер
> Решил ради интереса сделать бэкап функцией php http://www.php.net/manual/en/function.ibase-backup.php

Функция более 7-ми лет так и недокументирована...
И накойхер (фамилиё такое) оно тебе вообще надо???

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.11.2013, 14:06:29
    #38451800
zirra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
On Mon, 04 Nov 2013 15:01:04 +0400, Gallemar <nospam@sql.ru>; wrote:

> Автор: Gallemar
> можно не заморачиваться с транзакциями и работать только с ibase_query не
> используя ibase_trans и ibase_commit/ibase_rollback?

Да...
Посмотри на http://phpclub.ru/talk/ , там лет эдак назад это обсуждал с кем-то...
...
И вместо ibase_fetch_row - лучше, имхо, ibase_fetch_object...

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.11.2013, 14:07:35
    #38451804
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
zirra
Функция более 7-ми лет так и недокументирована...
И накойхер (фамилиё такое) оно тебе вообще надо???

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru



В перспективе возможность сбэкапить базу и забрать по FTP интересна. Кстати, по FB&php документация нифига не документирована вообще вся :)
...
Рейтинг: 0 / 0
04.11.2013, 14:09:56
    #38451809
zirra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
On Mon, 04 Nov 2013 15:07:35 +0400, Gallemar <nospam@sql.ru>; wrote:

> В перспективе возможность сбэкапить базу и забрать по FTP интересна. Кстати, по FB&php документация нифига не документирована вообще вся :)

а. Cron на серваке;
б. если таки sweb, то доступ к базе есть и снаружи, бэкапь сразу к себе...

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.11.2013, 14:11:50
    #38451812
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
Gallemarвозможность сбэкапить базу и забрать по FTP интересна.
А смысл в этом, если бэкап можно забрать прямо браузером со странички?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.11.2013, 14:15:49
    #38451816
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
zirra,

и что с того? Там вообще половину функций не документировано. И PDO:firebird до сих пор нормальным сделать не могут. Что же теперь FB в Web не применять. (К слову кроме PHP есть ещё JAVA, .NET и python)
...
Рейтинг: 0 / 0
04.11.2013, 14:18:08
    #38451817
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
Dimitry SibiryakovGallemarвозможность сбэкапить базу и забрать по FTP интересна.
А смысл в этом, если бэкап можно забрать прямо браузером со странички?..
Ну или сразу. Сути это не меняет.
...
Рейтинг: 0 / 0
04.11.2013, 14:19:10
    #38451821
zirra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
On Mon, 04 Nov 2013 15:15:49 +0400, Симонов Денис <nospam@sql.ru>; wrote:

> Автор: Симонов Денис
> PDO:firebird до сих пор нормальным сделать не могут.

И не будут...
А я им и не пользуюсь...
...
Хватило одной попытки лет 5-6 назад...
С тех пор оно только было перекомпилено под новые версии PHP...

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.11.2013, 14:19:59
    #38451823
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
Gallemar,

целиком забирать бэкап много трафика потребует. А потому сразу после бэкапа его ещё архивировать надо.
Начиная с 2.5.2 появилась возможность сразу делать бэкап на удалённый компьютер. Правда там порт 3050 должен быть открыт.
...
Рейтинг: 0 / 0
04.11.2013, 14:22:13
    #38451826
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
zirraOn Mon, 04 Nov 2013 15:01:04 +0400, Gallemar <nospam@sql.ru>; wrote:

> Автор: Gallemar
> можно не заморачиваться с транзакциями и работать только с ibase_query не
> используя ibase_trans и ibase_commit/ibase_rollback?

Да...
Посмотри на http://phpclub.ru/talk/ , там лет эдак назад это обсуждал с кем-то...
...
И вместо ibase_fetch_row - лучше, имхо, ibase_fetch_object...

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru


Хм, заменил ibase_fetch_row на ibase_fetch_object, теперь не могу вывести массив через echo или print:
Catchable fatal error: Object of class stdClass could not be converted to string in.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?php
$dbase = ibase_pconnect ('localhost:c:\WebServers\home\interbase.ru\www\FBASE.FDB','SYSDBA','masterkey') or die ('Ошибка соединения с Firebird');
$tr = ibase_trans();
$stmt = 'select * from TABLE_1';
$sth = ibase_query($tr, $stmt) or die(ibase_errmsg());
while ($arr = ibase_fetch_object($sth)) 
{
//echo $arr[0] . ' ' . $arr[1] . ' ' . $arr[2] . ' ' .  $arr[3] .' </br> ' ;
print $arr;
}
ibase_commit($tr);
?>
...
Рейтинг: 0 / 0
04.11.2013, 14:25:51
    #38451829
zirra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
On Mon, 04 Nov 2013 15:22:13 +0400, Gallemar <nospam@sql.ru>; wrote:

> Автор: Gallemar
> И вместо ibase fetch row - лучше, имхо=
, ibase fetch object...

Как-то так
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
  $stmt categories = "se=
lect\n".
                      "  *\n".
                      "\n".
                      "from \n".
                      "  tbl category tc\n".
                      "\n".
                      "order by\n".
                      "  tc.id category";
   $sth categories = ibase query($dbh, $stmt categories);

   while ($row categories = ibase fetch object($sth categories))
   {
     if ($row categories->ID CATEGORY == $cct) $pagetitle .= " :: =
".mb strtolower($row categories->CATEGORY NAME);
   }



-- =

Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.11.2013, 14:28:03
    #38451834
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
GallemarНу или сразу. Сути это не меняет.
Не, ты не врубаешься: бэкап можно сразу делать, паковать и выплёвывать в HTTP поток, не
создавая файл на диске.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.11.2013, 14:28:13
    #38451835
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
zirra,

вот и обидно что не будут. Для универсальных CMS PDO в общем-то удобней чем ibase_* Да вот только пока не работает он нормально. Вот и приходится городить дополнительные уровни абстракции.

P.S. как то отрапортовал баг в PDO Firebird для 1 диалекта. Мне там ответили, что мол это не баг, т.к. первый диалект устарел и закрыли тикет. Это уже не говоря о том что их драйвер целиком валит PHP вместе с Apache для отпрепарированного INSERT запроса, если он выполняется более 1 раза (таблица содержит BLOB). Одним словом ужас!
...
Рейтинг: 0 / 0
04.11.2013, 14:31:09
    #38451841
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
Gallemar,

если делать по уму, то надо отделять работу с данными от их вывода. Есть такая концепция MVC (Model-View-Controller). Так вот работа с данными должна осуществляться только на уровне модели.
...
Рейтинг: 0 / 0
04.11.2013, 14:31:39
    #38451842
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
Dimitry SibiryakovGallemarНу или сразу. Сути это не меняет.
Не, ты не врубаешься: бэкап можно сразу делать, паковать и выплёвывать в HTTP поток, не
создавая файл на диске.
Врубился :)
...
Рейтинг: 0 / 0
04.11.2013, 14:42:36
    #38451859
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
Симонов Денисzirra,

вот и обидно что не будут. Одним словом ужас!
Но пишут же на php+fb? :) Или это только фанатики?
...
Рейтинг: 0 / 0
04.11.2013, 14:46:16
    #38451863
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
Хм,для PDO есть только подключение DSN http://www.php.net/manual/ru/ref.pdo-firebird.connection.php
Где ещё можно инфу найти?
...
Рейтинг: 0 / 0
04.11.2013, 14:46:46
    #38451865
zirra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
On Mon, 04 Nov 2013 15:42:36 +0400, Gallemar <nospam@sql.ru>; wrote:

> Автор: Gallemar
> Но пишут же на php+fb? :) Или это только фанатики?

Имхо, да...
Ну вот зачем мне какую-то ...ню дополнительно ставить, если на комп, торчащий в тырнет, поставил апач + пхп, нарисовал некое междумордие, подключился к серваку с фб и вывел на общедоступную страницу нечто, позволяющее посмотреть прайс, скачать его в ворде/екселе/csv и, если залогинишься, то и заказик сделать... И сделано это было за неделю рабочего времени с изучением ibase_*...

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.11.2013, 14:50:05
    #38451871
zirra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
On Mon, 04 Nov 2013 15:46:16 +0400, Gallemar <nospam@sql.ru>; wrote:

> Автор: Gallemar
> Хм,для PDO есть только подключение DSN http://www.php.net/manual/ru/ref.pdo-firebird.connection.php
> Где ещё можно инфу найти?

Не пинай ты дохлую собаку...

--
Vladimir A.Bakhvaloff
E-Mail:bob<bark>bakh<dot>spb<dot>ru

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.11.2013, 14:52:09
    #38451875
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Бэкап через функцию php
Хм. Вопрос возник по работе с текстом. Вывел запросом содержимое блоба (текст), на html получил "0x0000000200000080". Как быть? Mysql для текста использует тип text, аналогичного в FB нету.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Бэкап через функцию php / 25 сообщений из 36, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]