Я пытаюсь запустить ibase_connect
в базу данных Firebird.
База данных НЕ находится на моем локальном хосте. Он работает на сетевом сервере Windows.
У меня тоже есть окна и подключение к общей папке:
Z:\Folder_WITH_DB.
У меня установлен XAMPP с
ibase extension
pdo firebird extension
, Я скопировал fbclient.dll в мой XAMPP / PHP папка.
Но если я запускаю этот код:
$db = 'Z:/Folder_WITH_DB/database.fdb';
$username='SYSDBA';
$password='masterkey';
$dbh = ibase_connect ( $db, $username, $password ) or die ("error in db connect");
дает эту ошибку
Warning: ibase_connect(): Unable to complete network request to host "Z". Failed to locate host machine. in xxx/index.php on line xx
firebird.log:
INET/INET_connect: gethostbyname (Z) failed, error code = 11004
я добавил gds_db 3050/tcp
к файлу службы на моем локальном хосте и сервере (перезапустили оба), и это та же ошибка.
Брандмауэр Windows деактивирован на сервере. Запущен сервис для сервера Firebird и Firebird Guardian.
Firebird может использовать только файл базы данных, локальный для сервера базы данных. Вы не можете подключиться к базе данных Firebird через сетевой ресурс *. Вам нужно подключиться к серверу Firebird.
Поэтому, если база данных ‘Z: /Folder_WITH_DB/database.fdb’ находится на сервере firebirdsrv в папке D: \ data \ database.fdb, вам необходимо подключиться к firebirdsrv/3050:D:\data\database.fdb
, Я настоятельно рекомендую удалить сетевой обмен.
*: Технически общий ресурс может использоваться, но по умолчанию он отключен, поскольку доступ к базе данных с нескольких серверов через общий сетевой ресурс может повредить базу данных.
Других решений пока нет …