<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/dba.setup.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ja',
  ),
  'this' => 
  array (
    0 => 'dba.requirements.php',
    1 => '要件',
    2 => '要件',
  ),
  'up' => 
  array (
    0 => 'dba.setup.php',
    1 => 'インストール/設定',
  ),
  'prev' => 
  array (
    0 => 'dba.setup.php',
    1 => 'インストール/設定',
  ),
  'next' => 
  array (
    0 => 'dba.installation.php',
    1 => 'インストール手順',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'reference/dba/setup.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="dba.requirements" class="section">
  <h2 class="title">要件</h2>
  <p class="para">
   各機能の動作は、使用するデータベースの実装に依存します。
   <span class="function"><a href="function.dba-optimize.php" class="function">dba_optimize()</a></span> および <span class="function"><a href="function.dba-sync.php" class="function">dba_sync()</a></span>
   のような関数は、特定のデータベースでは動作しますが、他のデータベースでは
   機能しません。サポートされるdbaハンドラをダウンロードし、インストールする
   必要があります。
   <table class="doctable table">
    <caption><strong>DBA ハンドラのリスト</strong></caption>
    
     <thead>
      <tr>
       <th>ハンドラ</th>
       <th>注意</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td><code class="literal">dbm</code></td>
       <td>
        dbm は最も古い(元祖の)Berkeley DB 型データベースです。可能なら
        ば使用しない方が良いでしょう。DB2 および gdbm に組み込まれている
        互換性を保つための関数は、サポートされません。これは、実装されて
        いるのがソースレベルの互換性のみであり、元の dbm フォーマットを
        処理することができないためです。
       </td>
      </tr>


      <tr>
       <td><code class="literal">ndbm</code></td>
       <td>
        ndbm は、dbm に比べて新しく、dbm よりも柔軟です。
        dbm 固有の制約の多くをまだ有しています（そのため、
        推奨されません）。
       </td>
      </tr>


      <tr>
       <td><code class="literal">gdbm</code></td>
       <td>
        Gdbm は、<a href="https://ftp.gnu.org/pub/gnu/gdbm/" class="link external">&raquo;&nbsp;GNU データベースマネージャ
        </a>です。
       </td>
      </tr>


      <tr>
       <td><code class="literal">db2</code></td>
       <td>
        DB2 は、<a href="http://www.sleepycat.com/" class="link external">&raquo;&nbsp;Oracle Berkeley DB 2</a>
        用です。これは、「スタンドアローンおよびクライアント/サーバー
        アプリケーションの両方で高性能な組込みデータベースサポートを提供する
        プログラム用ツールキット」として記述されています。
       </td>
      </tr>


      <tr>
       <td><code class="literal">db3</code></td>
       <td>
        DB3 は、<a href="http://www.sleepycat.com/" class="link external">&raquo;&nbsp;Oracle Berkeley DB
        3</a> 用です。
       </td>
      </tr>


      <tr>
       <td><code class="literal">db4</code></td>
       <td>
        DB4 は、<a href="http://www.sleepycat.com/" class="link external">&raquo;&nbsp;Oracle Berkeley DB
        4 あるいは 5</a> 用です。
        BDB 5 を使用できるのは、PHP 5.3.3 以降です。
       </td>
      </tr>


      <tr>
       <td><code class="literal">cdb</code></td>
       <td>
        cdb は「固定データベースの作成・読込み用の、高速で高信頼性の
        軽量型パッケージ」です。これは qmail の作者によるものであり、
        <a href="http://cr.yp.to/cdb.html" class="link external">&raquo;&nbsp;http://cr.yp.to/cdb.html</a> にあります。
        固定であるため、読込操作のみがサポートされます。
        内部的な cdb ライブラリにより（更新ではなく）
        書き込みがサポートされています。
       </td>
      </tr>


      <tr>
       <td><code class="literal">cdb_make</code></td>
       <td>
        付属する cdb ライブラリを使用する場合に cdb
        ファイルの（更新ではなく）作成をサポートします。
       </td>
      </tr>


      <tr>
       <td><code class="literal">flatfile</code></td>
       <td>
        これは、古い
        <code class="literal">dbm</code> 拡張モジュールとの互換性の
        ためだけのものであり、使用するべきではありません。
        しかし、ファイルがこの形式で作成された場所でこれを使用する
        ことができます。これは、configure が外部ライブラリを見付ける
        ことができない場合に生じます。
       </td>
      </tr>


      <tr>
       <td><code class="literal">inifile</code></td>
       <td>
        これは PHP スクリプトから php.ini
        ファイルを書き換えられるようにします。ini ファイルを扱う場合は、
        array(0=&gt;group,1=&gt;value_name) のような配列、あるいは
        &quot;[group]value_name&quot; のような文字列を渡します（group はオプションです）。
        <span class="function"><a href="function.dba-firstkey.php" class="function">dba_firstkey()</a></span> や <span class="function"><a href="function.dba-nextkey.php" class="function">dba_nextkey()</a></span>
        はキーを文字列形式で返しますが、
        <span class="function"><a href="function.dba-key-split.php" class="function">dba_key_split()</a></span> を用いるとそれを配列形式に
        変換できます。その際に <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> を失うこともありません。
       </td>
      </tr>


      <tr>
       <td><code class="literal">qdbm</code></td>
       <td>
        qdbm ライブラリは
        <a href="http://fallabs.com/qdbm/index.html" class="link external">&raquo;&nbsp;http://fallabs.com/qdbm/index.html</a> からダウンロードできます。
       </td>
      </tr>


      <tr>
       <td><code class="literal">tcadb</code></td>
       <td>
        Tokyo Cabinet ライブラリは
        <a href="http://fallabs.com/tokyocabinet/" class="link external">&raquo;&nbsp;http://fallabs.com/tokyocabinet/</a>
        からダウンロードできます。
       </td>
      </tr>


      <tr>
       <td><code class="literal">lmdb</code></td>
       <td>
        PHP 7.2.0 以降で利用可能です。
        Lightning Memory-Mapped Database ライブラリは
        <a href="https://symas.com/lmdb/" class="link external">&raquo;&nbsp;https://symas.com/lmdb/</a> からダウンロードできます。
       </td>
      </tr>


     </tbody>
    
   </table>

  </p>
  <p class="simpara">
   <span class="function"><a href="function.dba-open.php" class="function">dba_open()</a></span> または <span class="function"><a href="function.dba-popen.php" class="function">dba_popen()</a></span>
   関数を実行する際、引数にハンドラ名の一つを指定する必要があります。
   実際に利用可能なハンドラのリストは、
   <span class="function"><a href="function.phpinfo.php" class="function">phpinfo()</a></span> または
   <span class="function"><a href="function.dba-handlers.php" class="function">dba_handlers()</a></span> をコールした際に表示されます。
  </p>
 </div><?php manual_footer($setup); ?>