У меня есть устаревшая система для обслуживания, и в работе эта система работает нормально, но на моей машине разработки я не могу подключиться к базе данных.
Моя ОС — Ubuntu 14.04 с новой установкой firebird2.5-classic, версия php — 5.5.9-1ubuntu4.5, и я также установил драйвер interbase.
Когда я запускаю этот код:
$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
Файл соответствует паролю, поэтому я думаю, что конфигурация правильная.
Попробуй автоудаление
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
редактировать 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"
Гадкое решение, но оно работает.