PHP не подключается к базе данных firebird (interbase)

У меня есть устаревшая система, которую нужно поддерживать, и в производстве эта система работает нормально, но на моей машине разработки я не могу подключиться к базе данных. Моя ОС — Ubuntu 14.04 со свежей установкой firebird2.5-classic, версия php — 5.5.9-1ubuntu4.5, и я также установил межбазовый драйвер.

Когда я запускаю этот код:

$host = 'localhost:/var/www/html/webcalc/base/dbwebcalc.gdb';

$dbh = ibase_connect($host, 'SYSDBA', 'masterkey');

var_dump($dbh);

Я получаю это ответное сообщение:

Warning: ibase_connect(): Your user name and password are not defined. Ask your database administrator to set up a Firebird login**. in /var/www/html/testes/conn_firebird.php on line 5.

Но когда я пытаюсь подключиться из командной строки, соединение устанавливается. Так что я думаю, что проблема должна быть с драйвером...

В моем файле /etc/firebid/<version>/SYSDBA.password пароль совпадает, поэтому я думаю, что конфигурация правильная.


person Loquaz Mendes    schedule 02.01.2015    source источник
comment
Попробуйте заменить localhost: на свой IP-адрес.   -  person Len_D    schedule 02.01.2015
comment
Не работал тоже. :(   -  person Loquaz Mendes    schedule 02.01.2015


Ответы (2)


Попробуйте удалить автоматически

sudo apt-get autoremove firebird2.5-classic

и установить;

sudo apt-get install firebird2.5-classic

а также попробуй поменять в утилите gsec;

gsec -database localhost:/var/lib/firebird/2.5/system/security.fdb
GSEC> modify SYSDBA -pw masterke
person Serkan KOCAMAN    schedule 02.01.2015
comment
Спасибо за ответ, KiPSOFT. Я так и сделал, сменил пароль SYSDBA и добавил еще одного пользователя в базу данных security2. И ситуация остается прежней: из командной строки могу подключиться, из приложения нет. :( - person Loquaz Mendes; 02.01.2015

Изменить php.ini:

; Default database name for ibase_connect().

ibase.default_db = 127.0.0.1:E:\path_to_bd\bd.fdb  ;(or whatever the path to bd is..mabe a port is needed: 127.0.0.1/3050:E:\path_to_bd\bd.fdb)

; Default username for ibase_connect().

ibase.default_user = "username"

; Default password for ibase_connect().

ibase.default_password = "yourpassword"

Уродливое решение, но оно работает.

person Barsan Radu    schedule 05.09.2017