Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Связка Firebird 3.0 и PHP  [new]
metris
Member

Откуда:
Сообщений: 22
Добрый день!

На днях переехали с ФБ2.5 а ФБ3.0 и столкнулись с проблемой, что php-скрипты перестали работать.
Для работы с базой использовали модуль php_interbase, который сейчас отвечает "error connecting to database: connection rejected by remote interface".
Но в описании модуля написано "Это расширение поддерживает InterBase версии 6 и выше и Firebird версии 2.0 и выше. " (https://www.php.net/manual/ru/intro.ibase.php)

Обновление php до 7.3 не помогло.
phpinfo о модуле Interbase говорит, что:
Compile-time Client Library Version Firebird API version 25
Run-time Client Library Version LI-V6.3.3.26778 Firebird 2.5
То есть готов работать с АПИ версии 25, как проверить версию АПИ, я так и не нагуглил.

Подскажите, действительно ли этот модуль не работает с 3 версией или мы что-то не так делаем?
Если этот модуль не работает с 3 версией, что посоветуете для связи PHP с FB 3.0?
15 авг 19, 16:18    [21950277]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
hvlad
Member

Откуда:
Сообщений: 10531
metris,

подложить PHP клиента от fb3, или настроить fb3 на работу со старыми клиентами.
15 авг 19, 16:28    [21950291]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
o_v_a
Member

Откуда: Тула
Сообщений: 1063
metris,
по умолчанию старые клиенты не могут подключаться к серверу Firebird 3.0
Никто не догадался заглянуть в firebird.conf после установки Firebird 3.0?
Доступ есть к конфигу? Покажите этот конфиг.
PHP и Firebird на разных машинах?
15 авг 19, 16:30    [21950295]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
metris
Member

Откуда:
Сообщений: 22
Спасибо большое за наводку, все получилось.

Для будущих поколений, оставлю ссылки на настройку Legacy Authentication (возможность подключаться к Firebird3.0 клиентам более ранних версий)
https://www.firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb30-compat-legacyauth.html

и вот этот пост https://github.com/hgourvest/node-firebird/issues/99
ключевое там:
3) Next you need to create another SYSDBA account (using gsec) so it
also exists as a legacy user. I am not 100% sure if you only need to do
"gsec -user sysdba -password masterkey", or that you explicitly need to
do "add sysdba -pw masterke" from the gsec prompt.
15 авг 19, 22:55    [21950563]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9831
metris
3) Next you need to create another SYSDBA account (using gsec) so it
also exists as a legacy user. I am not 100% sure if you only need to do
"gsec -user sysdba -password masterkey", or that you explicitly need to
do "add sysdba -pw masterke" from the gsec prompt.


примечательно, что SYSDBA в Legacy_UserManager уже есть, в отличие от Srp.
И пора приучаться работать без gsec. Пользователями гораздо удобней управлять через isql
15 авг 19, 23:23    [21950580]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
metris
Member

Откуда:
Сообщений: 22
Симонов Денис,

Через gsec вчера пытался несколько раз изменить пароль SYSDBA - никак, все равно подключение с masterke проходит. Я прям в замешательстве.

Нашел тут соответствующую тему, буду пробовать, как закончится рабочий день.
https://www.sql.ru/forum/1220656-1/izmenit-parol-sysdba-firebird-3
16 авг 19, 14:50    [21951092]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48163

metris
Через gsec вчера пытался несколько раз изменить пароль SYSDBA - никак, все равно
подключение с masterke проходит. Я прям в замешательстве.

Самое время почитать документацию и сообразить, что раз ты не указываешь используемый
менеджер пользователей, то gsec меняет пароль только в умолчательном, а при подключении
пытаются использоваться все сконфигурированные.

Posted via ActualForum NNTP Server 1.5

16 авг 19, 15:00    [21951102]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
metris
Member

Откуда:
Сообщений: 22
Dimitry Sibiryakov,

Спасибо, я не DBA, поэтому пока сообразил только то, что нужно почитать про менеджер пользователей FB и какое отношение к нему имеет gsec :)

Буду благодарен, если подскажете, что еще почитать, чтоб решить проблему :)
16 авг 19, 16:07    [21951171]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
Arioch
Member

Откуда:
Сообщений: 10967
в FB3 есть несколько компонентов (менеджеров пользователей, security plugins), каждый из которых хранит свой независимые набор пользователей и паролей.

любой метод изменения пользователей - хоть с gsec, хоть с SQL, да и с API тоже наверное - работает с одним из этих наборов в одном из компонентов. Либо с тем, который ты ему явно укажешь, либо с тем, который ему больше понравится.

соотв., чтобы не проходил masterkey нужно поменять пароль у всех созданных пользователей SYSDBA, в каждом компоненте, где такой есть.
16 авг 19, 16:27    [21951204]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
Arioch
Member

Откуда:
Сообщений: 10967
login as sysdba, then Select * from sec$users
16 авг 19, 16:30    [21951208]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9831
Arioch,

вот как раз в SQL можно указывать имя менеджера пользователей явно. Да и возможностей в нём пошире
16 авг 19, 16:38    [21951220]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
Arioch
Member

Откуда:
Сообщений: 10967
Симонов Денис,

а разве не везде можно ?
16 авг 19, 16:41    [21951225]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9831
Arioch,

ну покажи мне как в gsec можно указать какой менеджер пользователей используется
16 авг 19, 16:55    [21951251]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30321

16.08.2019 16:55, Симонов Денис пишет:
> ну покажи мне как в gsec можно указать какой менеджер пользователей используется

просто никто не допилил

Posted via ActualForum NNTP Server 1.5

16 авг 19, 17:02    [21951273]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 48163

metris
что еще почитать, чтоб решить проблему :)

Language Reference и Release Notes для Firebird 3.

Posted via ActualForum NNTP Server 1.5

16 авг 19, 17:24    [21951302]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9831
Мимопроходящий,

его и не собираются допиливать. gsec объявлен deprecated в 3.0
16 авг 19, 17:43    [21951319]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
hvlad
Member

Откуда:
Сообщений: 10531
Мимопроходящий
16.08.2019 16:55, Симонов Денис пишет:
> ну покажи мне как в gsec можно указать какой менеджер пользователей используется

просто никто не допилил
Забывайте про gsec, он не будет поддерживать новые фичи

>gsec
*** gsec is deprecated, will be removed soon ***
16 авг 19, 17:45    [21951320]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30321

жалко мне, Маха, пинжака с карманАми,
Ванька в йом такой красивый был...

(С)

Posted via ActualForum NNTP Server 1.5

16 авг 19, 17:49    [21951323]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9302
hvlad
Забывайте про gsec, он не будет поддерживать новые фичи
>gsec
*** gsec is deprecated, will be removed soon ***
Хочу (для sysdba, как минимум) возможность подключиться из isql не к конкретной базе, а "к серверу".
Ну или локальный протокол под линуксом, чтобы можно было цепляться к xnet://security.db
17 авг 19, 02:42    [21951589]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
metris
Member

Откуда:
Сообщений: 22
Курение манов и Release notes не помогло, к сожалению.

1. В файле firebird.conf изменены строки:
AuthServer = Legacy_Auth, WinSspi, Srp
AuthClient = Legacy_Auth, Srp, WinSspi
UserManager = Legacy_UserManager, Srp
(еще размеры кеша, но это ведь не имеет отношения к вопросу)

2. в файле databases.conf указана только база:
security.db = $(dir_secDb)/security3.fdb
{
RemoteAccess = false
DefaultDbCachePages = 50
}

3. В базе security3.fdb и рабочей базе существует один пользователь - SYSDBA (проверял 'select * from sec$users;'), в обеих базах поменял пароль SYSDBA на отличный от masterkey (ALTER USER SYSDBA SET PASSWORD '123';), а подключение с паролем masterkey проходит...


Что я еще не сделал? :(
20 авг 19, 22:42    [21953864]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9831
metris,

используешь embedded вместо сетевого сервера. Пароли там вообще игнорируются
20 авг 19, 23:02    [21953876]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
metris
Member

Откуда:
Сообщений: 22
Симонов Денис
metris,

используешь embedded вместо сетевого сервера. Пароли там вообще игнорируются


Установил Providers = Remote,Loopback та же история... :(

Я сейчас не могу концептуально понять - я что-то делаю не так с конфигураацией или ошибка лежит за пределами параметров настройки сервера...
21 авг 19, 22:25    [21954889]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
hvlad
Member

Откуда:
Сообщений: 10531
metris,

строка коннекта какая ? В ней есть localhost ?
21 авг 19, 22:26    [21954890]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
metris
Member

Откуда:
Сообщений: 22
нет, подключение происходит так:

db.php
$baseip = '256.256.256.256';
$database = $baseip.':/home/firebird/base.fdb';
$db_user = 'SYSDBA';
$db_password = 'masterke'


test_connect.php
include('../db.php');

if (!($db=ibase_connect($database, $db_user, $db_password))) { 
		echo('<br><b>error connecting to database</b>: ' . ibase_errmsg()); 
		}	
else { 
	echo('connected!');
26 авг 19, 22:19    [21957945]     Ответить | Цитировать Сообщить модератору
 Re: Связка Firebird 3.0 и PHP  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9831
metris,

что выводит

select SEC$USER_NAME, SEC$PLUGIN from sec$users
26 авг 19, 22:24    [21957946]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Firebird, InterBase Ответить