PHP 8.1.0 Released!

ibase_service_attach

(PHP 5, PHP 7 < 7.4.0)

ibase_service_attachПодключается к диспетчеру служб

Описание

ibase_service_attach(string $host, string $dba_username, string $dba_password): resource|false

Список параметров

host

Имя или IP-адрес хоста базы данных. Вы можете указать порт, добавив '/' и номер порта. Если порт не указан, будет использоваться порт 3050.

dba_username

Имя любого действительного пользователя.

dba_password

Пароль пользователя.

Возвращаемые значения

Возвращает идентификатор ссылки Interbase / Firebird в случае успешного выполнения или false в случае возникновения ошибки.

Примеры

Пример #1 Пример использования ibase_service_attach()

<?php
    
// Присоединение к удаленному серверу Firebird по IP-адресу
    
if (($service ibase_service_attach('10.1.1.199''sysdba''masterkey')) != FALSE) {

        
// Присоединение прошло успешно.
        // Возврат версии сервера (что-то вроде 'LI-V3.0.4.33054 Firebird 3.0')
        
$server_version  ibase_server_info($serviceIBASE_SVC_SERVER_VERSION);

        
// Возврат реализации сервера (что-то вроде 'Firebird/Linux/AMD/Intel/x64')
        
$server_implementation ibase_server_info($serviceIBASE_SVC_IMPLEMENTATION);

        
// Отсоединение от сервера (отключение)
        
ibase_service_detach($service);

        
// Вывод информации
        
echo "Версия сервера: " $server_version "<br/>";
        echo 
"Реализация сервера: " $server_implementation;
    }
    else {
        
// Вывод сообщения в случае возникновения ошибки
        
$conn_error ibase_errmsg();
        die(
$conn_error);
    }

?>

Пример #2 Пример использования ibase_service_attach() с синтаксисом hostname/port

<?php
    
// Присоединение к удаленному серверу Firebird по имени. Используется порт 3050.
    
if (($service ibase_service_attach('FB-SRV-01.contoso.local/3050''sysdba''masterkey')) != FALSE) {

        
// Присоединение прошло успешно.
        // Возврат версии сервера (что-то вроде 'LI-V3.0.4.33054 Firebird 3.0')
        
$server_version  ibase_server_info($serviceIBASE_SVC_SERVER_VERSION);

        
// Возврат реализации сервера (что-то вроде 'Firebird/Linux/AMD/Intel/x64')
        
$server_implementation ibase_server_info($serviceIBASE_SVC_IMPLEMENTATION);

        
// Отсоединение от сервера (отключение)
        
ibase_service_detach($service);

        
// Вывод информации
        
echo "Версия сервера: " $server_version "<br/>";
        echo 
"Реализация сервера: " $server_implementation;
    }
    else {
        
// Вывод сообщения в случае возникновения ошибки
        
$conn_error ibase_errmsg();
        die(
$conn_error);
    }

?>

Смотрите также

add a note add a note

User Contributed Notes 3 notes

up
1
Paul Vinkenoog
13 years ago
The previous comment is incorrect. You can connect to the Service Manager as any valid user, and connecting to the Service Manager is not the same as connecting to the security database. However, some of the service functions (which you may subsequently call with the service handle returned by ibase_service_attach) are only available to SYSDBA.
up
0
houston_roadrunner at yahoo dot com
15 years ago
When using this function it looks like you can only use SYSDBA as the user, as you are connecting to the security database. This is a restriction by the interbase/firebird server.
up
0
Anonymous
15 years ago
An example of ibase_service_attach:
<?php
   
//attach to the server running on localhost
   
if (($service = ibase_service_attach('localhost', 'sysdba', 'masterkey')) != FALSE) {
       
//retrieve server info
       
$server_info  = ibase_server_info($service, IBASE_SVC_SERVER_VERSION)
                      .
' / '
                     
. ibase_server_info($service, IBASE_SVC_IMPLEMENTATION);
       
//detach from server (disconnect)
       
ibase_service_detach($service);
    }
    else {
       
$ib_error = ibase_errmsg();
    }
echo
$server_info;
?>
Should echo something like:

WI-T2.0.0.12484 Firebird 2.0 Release Candidate 1 / Firebird/x86/Windows NT

Taken/adapted from ibWebAdmin source code
To Top