サービスマネージャに接続する

# ibase_service_attach

(PHP 5, PHP 7 < 7.4.0)

ibase_service_attach — サービスマネージャに接続する

### 説明

function 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($service, IBASE_SVC_SERVER_VERSION);

            // サーバーの実装を取得 ('Firebird/Linux/AMD/Intel/x64' のようなもの)
            $server_implementation = ibase_server_info($service, IBASE_SVC_IMPLEMENTATION);

            // サーバーからデタッチ(切断)
            ibase_service_detach($service);

            // 情報を出力
            echo "Server version: " . $server_version . "<br/>";
            echo "Server implementation: " . $server_implementation;
        }
        else {
            // エラー時にはメッセージを出力
            $conn_error = ibase_errmsg();
            die($conn_error);
        }

    ?>

例2 `hostname/port` を使った ibase_service_attach() の例

    <?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($service, IBASE_SVC_SERVER_VERSION);

            // サーバーの実装を取得 ('Firebird/Linux/AMD/Intel/x64' のようなもの)
            $server_implementation = ibase_server_info($service, IBASE_SVC_IMPLEMENTATION);

            // サーバーからデタッチ(切断)
            ibase_service_detach($service);

            // 情報を出力
            echo "Server version: " . $server_version . "<br/>";
            echo "Server implementation: " . $server_implementation;
        }
        else {
            // エラー時にはメッセージを出力
            $conn_error = ibase_errmsg();
            die($conn_error);
        }

    ?>

### 参考

- ibase_service_detach() - サービスマネージャとの接続を切断する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open