|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Добрый день! На днях переехали с ФБ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.08.2019, 16:18 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
metris, подложить PHP клиента от fb3, или настроить fb3 на работу со старыми клиентами. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 16:28 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
metris, по умолчанию старые клиенты не могут подключаться к серверу Firebird 3.0 Никто не догадался заглянуть в firebird.conf после установки Firebird 3.0? Доступ есть к конфигу? Покажите этот конфиг. PHP и Firebird на разных машинах? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2019, 16:30 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Спасибо большое за наводку, все получилось. Для будущих поколений, оставлю ссылки на настройку 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.08.2019, 22:55 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
metris3) 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.08.2019, 23:23 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Симонов Денис, Через gsec вчера пытался несколько раз изменить пароль SYSDBA - никак, все равно подключение с masterke проходит. Я прям в замешательстве. Нашел тут соответствующую тему, буду пробовать, как закончится рабочий день. https://www.sql.ru/forum/1220656-1/izmenit-parol-sysdba-firebird-3 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 14:50 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
metrisЧерез gsec вчера пытался несколько раз изменить пароль SYSDBA - никак, все равно подключение с masterke проходит. Я прям в замешательстве. Самое время почитать документацию и сообразить, что раз ты не указываешь используемый менеджер пользователей, то gsec меняет пароль только в умолчательном, а при подключении пытаются использоваться все сконфигурированные. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 15:00 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Спасибо, я не DBA, поэтому пока сообразил только то, что нужно почитать про менеджер пользователей FB и какое отношение к нему имеет gsec :) Буду благодарен, если подскажете, что еще почитать, чтоб решить проблему :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 16:07 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
в FB3 есть несколько компонентов (менеджеров пользователей, security plugins), каждый из которых хранит свой независимые набор пользователей и паролей. любой метод изменения пользователей - хоть с gsec, хоть с SQL, да и с API тоже наверное - работает с одним из этих наборов в одном из компонентов. Либо с тем, который ты ему явно укажешь, либо с тем, который ему больше понравится. соотв., чтобы не проходил masterkey нужно поменять пароль у всех созданных пользователей SYSDBA, в каждом компоненте, где такой есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 16:27 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
login as sysdba, then Select * from sec$users ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 16:30 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Arioch, вот как раз в SQL можно указывать имя менеджера пользователей явно. Да и возможностей в нём пошире ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 16:38 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Симонов Денис, а разве не везде можно ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 16:41 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Arioch, ну покажи мне как в gsec можно указать какой менеджер пользователей используется ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 16:55 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
16.08.2019 16:55, Симонов Денис пишет: > ну покажи мне как в gsec можно указать какой менеджер пользователей используется просто никто не допилил Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 17:02 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
metrisчто еще почитать, чтоб решить проблему :) Language Reference и Release Notes для Firebird 3. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 17:24 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Мимопроходящий, его и не собираются допиливать. gsec объявлен deprecated в 3.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 17:43 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Мимопроходящий16.08.2019 16:55, Симонов Денис пишет: > ну покажи мне как в gsec можно указать какой менеджер пользователей используется просто никто не допилилЗабывайте про gsec, он не будет поддерживать новые фичи Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 17:45 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
жалко мне, Маха, пинжака с карманАми, Ванька в йом такой красивый был... (С) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2019, 17:49 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
hvladЗабывайте про gsec, он не будет поддерживать новые фичи Код: plaintext 1. 2.
Ну или локальный протокол под линуксом, чтобы можно было цепляться к xnet://security.db ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2019, 02:42 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Курение манов и 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.08.2019, 22:42 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
metris, используешь embedded вместо сетевого сервера. Пароли там вообще игнорируются ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2019, 23:02 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Симонов Денисmetris, используешь embedded вместо сетевого сервера. Пароли там вообще игнорируются Установил Providers = Remote,Loopback та же история... :( Я сейчас не могу концептуально понять - я что-то делаю не так с конфигураацией или ошибка лежит за пределами параметров настройки сервера... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2019, 22:25 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
metris, строка коннекта какая ? В ней есть localhost ? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2019, 22:26 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
нет, подключение происходит так: db.php Код: php 1. 2. 3. 4.
test_connect.php Код: php 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 22:19 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
metris, что выводит Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 22:24 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Симонов Денисmetris, что выводит Код: sql 1.
SQL> select SEC$USER_NAME, SEC$PLUGIN from sec$users; SEC$USER_NAME SEC$PLUGIN =============================== =============================== SYSDBA Srp ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 22:37 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
metris1. В файле firebird.conf изменены строки: AuthServer = Legacy_Auth, WinSspi, Srp AuthClient = Legacy_Auth, Srp, WinSspi UserManager = Legacy_UserManager, Srp чтобы работал Legacy_Auth нужно установить WireCrypt = Enabled или Disabled ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 22:38 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
извините за форматирование, редактировать сообщение не могу ( Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 22:38 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Симонов Денисmetris1. В файле firebird.conf изменены строки: AuthServer = Legacy_Auth, WinSspi, Srp AuthClient = Legacy_Auth, Srp, WinSspi UserManager = Legacy_UserManager, Srp чтобы работал Legacy_Auth нужно установить WireCrypt = Enabled или Disabled установлен в Disabled ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 22:39 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
metris, у тебя Legacy_UserManager не подключен вот здесь символ комментария # точно снят? Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 22:41 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Симонов Денис, точно снят :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 22:43 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Привожу все раскомментированные строки в firebird.conf AuthServer = Legacy_Auth, WinSspi, Srp AuthClient = Legacy_Auth, Srp, WinSspi UserManager = Legacy_UserManager, Srp WireCrypt = Disabled Providers = Remote, Loopback ServerMode = SuperClassic И сейчас обнаружил (пока не понял, почему не вылезло раньше), что при установке Providers = Remote, Loopback , скрипт выдает ошибку Unable to complete network request to host "". Failed to establish a connection. То есть подключение происходит действительно в embedded режиме...? Если ее закоментить, скрипт подключается к базе с паролем masterke, а с установленным ранее паролем - нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 22:55 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
metris, странно. Вот только что попробовал на уровне databases.conf прописать UserManager = Legacy_UserManager, Srp и у меня отображается сразу 2 SYSDBA Замечу что я инициализировал только SYSDBA в Srp (при дефолтных настройках). Второй сразу стал виден после добавления Legacy_UserManager в UserManager. Потому что он уже лежит в security.db ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 22:58 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
metris, вот это Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 22:59 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Симонов Денис, Providers = Remote, Loopback закоментил, эт понятно. Но ситуацию с паролями это не меняет. А то, что раньше на этом сервере работал FB 2.5 могло как-то повлиять? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 23:12 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
metris Код: php 1.
Серьёзно ? 256 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 23:37 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
hvlad, ты же не думаешь, что это реальный адрес из конфига...? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 08:57 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
metris, я думаю что сначала надо потренироваться на кошках IBExpert или isql, а только потом терзать пых. Судя по выборке из sec$users у тебя что-то не так с настройками ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 09:33 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
metris, и ещё WinSspi в UNIX/Linux не имеет смысла. Я у себя вообще в пыхе родным трёшкиным клиентом подключаюсь. Просто сделав Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 09:36 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
metris, вот мой рабочий конфиг. Работает и с клиентом 3.0 и клиентом 2.5 Код: plaintext 1. 2.
Когда установлено 2 менеджера пользователей, то существует 2 SYSDBA. Первый менеджер пользователей из списка используется по умолчанию. Для того чтобы задействовать другие надо указывать плагин в {CREATE|ALTER|DROP} USER Код: sql 1.
З.Ы. Зачем тебе SuperClassic? В трёшке есть нормальный SMP Super ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 09:46 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Симонов Денис, кстати, да, наверное для начала стоило тестить на isql, потом пых, т.к. может проблема с этой стороны По поводу родного клиента - у нас не один скрипт подключается к базе, их много, переписывать все не очень хочется и не очень можется, с ПХПшником проблемы. Судя по тому, что у меня в базе один пользователь SYSDBA, как найти второго? :) (у которого, вероятно, пароль masterkey) ЗЫ. При запуске в Super нагрузка на ЦП размазана ровно, но не более 50% на ядро. ЗЗЫ. Учитывая все вышеперечисленное, наверное будем искать ДБА, кто поможет решить эти проблемы и оптимизировать работу. Постараюсь отписать потом, где нашли проблему. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 10:10 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
судя вот по этому metrisИ сейчас обнаружил (пока не понял, почему не вылезло раньше), что при установке Providers = Remote, Loopback, скрипт выдает ошибку Unable to complete network request to host "". Failed to establish a connection. То есть подключение происходит действительно в embedded режиме...? Если ее закоментить, скрипт подключается к базе с паролем masterke, а с установленным ранее паролем - нет. всё у вас в порядке. Не надо было трогать Providers. Убери WinSspi не работает оно в NIX После изменений проверь Код: sql 1.
если там 2 SYSDBA, значит всё нормально. Выше я показывал как изменить пароль SYSDBA для конкретного плагина ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 10:15 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Симонов Денис, ок, спасибо, вечером попробую, отпишусь. Щас не могу проверить, нельзя перезагружать базу ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 10:50 |
|
Связка Firebird 3.0 и PHP
|
|||
---|---|---|---|
#18+
Итог - ТС му**к. Драматургия: БД смотрит в интернет. Когда включил Legacy и понял, что там дефолтный пароль, выключил его и начал разбираться, как корректно изменить пароль. Ну и я менял пароль для Srp... Для тестирования я включаю Legacy, в БД появляется пользователь sysdba с паролем masterke, тест провален, я выключаю Legacy и начинаю искать пользователя с дефолтным паролем, которого в тот момент уже нет. А всего то надо было включить Legacy и посмотреть: Код: sql 1. 2. 3. 4. 5. 6.
Ну и как чуть выше писал Денис: Код: sql 1.
Вот всегда так в nix, неделю мучаешься, а решается все одной строкой... Всем спасибо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2019, 22:10 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1560599]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 134ms |
0 / 0 |