PHP 7.4.0RC6 Released!

ibase_service_attach

(PHP 5, PHP 7)

ibase_service_attachVerbindet zum Service-Manager

Beschreibung

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

Parameter-Liste

host

Der Name oder die IP-Adresse des Datenbank-Hosts. Sie können den Port angeben durch Hinzufügen von '/' und der Portnummer. Sofern kein Port angegeben wurde, wird Port 3050 verwendet.

dba_username

Der Name eines gültigen Benutzers.

dba_password

Das Kennwort des Benutzers.

Rückgabewerte

Gibt eine Interbase/Firebird-Link-ID im Erfolgsfall zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 ibase_service_attach()-Beispiel

<?php
    
// Stellt über die IP-Adresse eine Verbindung zum Remote-Firebird-Server her
    
if (($service ibase_service_attach('10.1.1.199''sysdba''masterkey')) != FALSE) {
        
        
// Verbindung erfolgreich
        // Server-Version ermitteln (z.B. 'LI-V3.0.4.33054 Firebird 3.0')
        
$server_version  ibase_server_info($serviceIBASE_SVC_SERVER_VERSION);

        
// Serverimplementierung abrufen (z.B. 'Firebird/Linux/AMD/Intel/x64')
        
$server_implementation ibase_server_info($serviceIBASE_SVC_IMPLEMENTATION);

        
// Vom Server trennen (Verbindung trennen)
        
ibase_service_detach($service);

        
// Ausgabe
        
echo "Server version: " $server_version "<br/>";
        echo 
"Server implementation: " $server_implementation;
    }
    else {
        
// Fehler ausgeben
        
$conn_error ibase_errmsg();
        die(
$conn_error);
    }

?>

Beispiel #2 ibase_service_attach()-Beispiel mit hostname/port-Syntax

<?php
    
// Verbindung zum Remote-Firebird-Server über den Namen herstellen. Port 3050 verwenden.
    
if (($service ibase_service_attach('FB-SRV-01.contoso.local/3050''sysdba''masterkey')) != FALSE) {
        
        
        
// Verbindung erfolgreich
        // Server-Version ermitteln (z.B. 'LI-V3.0.4.33054 Firebird 3.0')
        
$server_version  ibase_server_info($serviceIBASE_SVC_SERVER_VERSION);

        
// Serverimplementierung abrufen (z.B. 'Firebird/Linux/AMD/Intel/x64')
        
$server_implementation ibase_server_info($serviceIBASE_SVC_IMPLEMENTATION);

        
// Vom Server trennen (Verbindung trennen)
        
ibase_service_detach($service);

        
// Ausgabe
        
echo "Server version: " $server_version "<br/>";
        echo 
"Server implementation: " $server_implementation;
    }
    else {
        
// Fehler ausgeben
        
$conn_error ibase_errmsg();
        die(
$conn_error);
    }

?>

Siehe auch

add a note add a note

User Contributed Notes 3 notes

up
1
Paul Vinkenoog
11 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
13 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
13 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