powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Бэкап через функцию php
36 сообщений из 36, показаны все 2 страниц
Бэкап через функцию php
    #38451754
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый вечер
Решил ради интереса сделать бэкап функцией 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
Бэкап через функцию php
    #38451757
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Бэкап через функцию php
    #38451767
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,спасибо,работает. Ещё спросить можно?
...
Рейтинг: 0 / 0
Бэкап через функцию php
    #38451770
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

да спрашивай конечно.
...
Рейтинг: 0 / 0
Бэкап через функцию php
    #38451786
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, пробую писать простую 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
Бэкап через функцию php
    #38451787
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Бэкап через функцию php
    #38451800
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Бэкап через функцию php
    #38451804
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zirra
Функция более 7-ми лет так и недокументирована...
И накойхер (фамилиё такое) оно тебе вообще надо???

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



В перспективе возможность сбэкапить базу и забрать по FTP интересна. Кстати, по FB&php документация нифига не документирована вообще вся :)
...
Рейтинг: 0 / 0
Бэкап через функцию php
    #38451809
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Бэкап через функцию php
    #38451812
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarвозможность сбэкапить базу и забрать по FTP интересна.
А смысл в этом, если бэкап можно забрать прямо браузером со странички?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Бэкап через функцию php
    #38451816
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zirra,

и что с того? Там вообще половину функций не документировано. И PDO:firebird до сих пор нормальным сделать не могут. Что же теперь FB в Web не применять. (К слову кроме PHP есть ещё JAVA, .NET и python)
...
Рейтинг: 0 / 0
Бэкап через функцию php
    #38451817
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovGallemarвозможность сбэкапить базу и забрать по FTP интересна.
А смысл в этом, если бэкап можно забрать прямо браузером со странички?..
Ну или сразу. Сути это не меняет.
...
Рейтинг: 0 / 0
Бэкап через функцию php
    #38451821
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Бэкап через функцию php
    #38451823
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

целиком забирать бэкап много трафика потребует. А потому сразу после бэкапа его ещё архивировать надо.
Начиная с 2.5.2 появилась возможность сразу делать бэкап на удалённый компьютер. Правда там порт 3050 должен быть открыт.
...
Рейтинг: 0 / 0
Бэкап через функцию php
    #38451826
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Бэкап через функцию php
    #38451829
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Бэкап через функцию php
    #38451834
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarНу или сразу. Сути это не меняет.
Не, ты не врубаешься: бэкап можно сразу делать, паковать и выплёвывать в HTTP поток, не
создавая файл на диске.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Бэкап через функцию php
    #38451835
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zirra,

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

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

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

вот и обидно что не будут. Одним словом ужас!
Но пишут же на php+fb? :) Или это только фанатики?
...
Рейтинг: 0 / 0
Бэкап через функцию php
    #38451863
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм,для PDO есть только подключение DSN http://www.php.net/manual/ru/ref.pdo-firebird.connection.php
Где ещё можно инфу найти?
...
Рейтинг: 0 / 0
Бэкап через функцию php
    #38451865
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Бэкап через функцию php
    #38451871
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Бэкап через функцию php
    #38451875
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм. Вопрос возник по работе с текстом. Вывел запросом содержимое блоба (текст), на html получил "0x0000000200000080". Как быть? Mysql для текста использует тип text, аналогичного в FB нету.
...
Рейтинг: 0 / 0
Бэкап через функцию php
    #38451884
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarMysql для текста использует тип text, аналогичного в FB нету.

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

> Автор: Gallemar
> Хм. Вопрос возник по работе с текстом. Вывел запросом содержимое блоба (текст),
> на html получил "0x0000000200000080". Как быть? Mysql для текста использует тип
> text, аналогичного в FB нету.

" http://phpclub.ru/talk/threads/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B-%D1%81-firebird-blob.33412/#post-289983%22%5D%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B]http://phpclub.ru/talk/threads/Проблемы-с-firebird-blob.33412/#post-289983"]Проблемы с Firebird BLOB

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

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

> Автор: Gallemar
> Хм. Вопрос возник по работе с текстом. Вывел запросом содержимое блоба (текст),
> на html получил "0x0000000200000080". Как быть? Mysql для текста использует тип
> text, аналогичного в FB нету.

Шайзе...
Проблемы с Firebird BLOB

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

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

ibase_fetch_object($sth, IBASE_FETCH_BLOBS)
...
Рейтинг: 0 / 0
Бэкап через функцию php
    #38451895
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zirraOn 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


Не буду, мне ibase_ хватит :)
Вопрос ко всем на засыпку http://firebirdsql.org/ и http://www.firebirdsql.su какую БД использует?:)
...
Рейтинг: 0 / 0
Бэкап через функцию php
    #38451906
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovGallemarMysql для текста использует тип text, аналогичного в FB нету.

BLOB sub_type TEXT.

Да это понятно. DDL вот какая:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
CREATE TABLE TABLE_1 (
    ID      INTEGER NOT NULL,
    A       VARCHAR(20) CHARACTER SET NONE,
    Q       VARCHAR(20) CHARACTER SET NONE,
    Z       VARCHAR(20) CHARACTER SET NONE,
    "BLOB"  BLOB SUB_TYPE 1 SEGMENT SIZE 256
);
...
Рейтинг: 0 / 0
Бэкап через функцию php
    #38451907
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисGallemar,

ibase_fetch_object($sth, IBASE_FETCH_BLOBS)
Спасибо, работает :)
...
Рейтинг: 0 / 0
Бэкап через функцию php
    #38451917
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Mon, 04 Nov 2013 15:56:27 +0400, Симонов Денис <nospam@sql.ru>; wrote:

> Автор: Симонов Денис
> ibase_fetch_object($sth, IBASE_FETCH_BLOBS)

Круто... А в доке хрень какая-то нарисована по поводу флага... :\

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

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

> Автор: Симонов Денис
> zirra,
> да
> http://www.php.net/manual/en/ibase.constants.php

Ну, когда знаешь, что конкретно искать, то уже нашёл... ;)

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

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

что дока у них кривая никто не спорил. Сам нашёл про этот флаг на каком-то стороннем ресурсе, а потом уже и php.net отыскался.
...
Рейтинг: 0 / 0
36 сообщений из 36, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Бэкап через функцию php
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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