php-doc-en/reference/dba/configure.xml
2021-04-24 20:01:17 +03:00

265 lines
7.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<section xml:id="dba.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.install;
<para>
By using the <option role="configure">--enable-dba=shared</option>
configuration option you can build a dynamic loadable module to enable PHP
for basic support of dbm-style databases. You also have to add support
for at least one of the following handlers by specifying the
<option role="configure">--with-XXXX</option> or <option role="configure">--enable-XXXX</option> configure switch to your PHP
configure line.
</para>
<warning>
<para>
After configuring and compiling PHP you must execute the following test
from commandline: <literal>php run-tests.php ext/dba</literal>. This shows
whether your combination of handlers works. Most problematic are
<literal>dbm</literal> and <literal>ndbm</literal> which conflict with
many installations. The reason for this is that on several systems these
libraries are part of more than one other library. The configuration test
only prevents you from configuring malfunctioning single handlers but not
combinations.
</para>
</warning>
<para>
<table>
<title>Supported DBA handlers</title>
<tgroup cols="2">
<thead>
<row>
<entry>Handler</entry>
<entry>Configure Switch</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>dbm</literal></entry>
<entry>
<para>
To enable support for dbm add
<option role="configure">--with-dbm[=DIR]</option>.
<note>
<para>
dbm normally is a wrapper which often results in failures.
This means you should only use dbm if you are sure it works
and if you really need this format.
</para>
</note>
</para>
</entry>
</row>
<row>
<entry><literal>ndbm</literal></entry>
<entry>
<para>
To enable support for ndbm add
<option role="configure">--with-ndbm[=DIR]</option>.
<note>
<para>
ndbm normally is a wrapper which often results in failures.
This means you should only use ndbm if you are sure it works
and if you really need this format.
</para>
</note>
</para>
</entry>
</row>
<row>
<entry><literal>gdbm</literal></entry>
<entry>
To enable support for gdbm add
<option role="configure">--with-gdbm[=DIR]</option>.
</entry>
</row>
<row>
<entry><literal>db2</literal></entry>
<entry>
<para>
To enable support for Oracle Berkeley DB 2 add
<option role="configure">--with-db2[=DIR]</option>.
<note>
<para>
db2 conflicts with db3 and db4.
</para>
</note>
</para>
</entry>
</row>
<row>
<entry><literal>db3</literal></entry>
<entry>
<para>
To enable support for Oracle Berkeley DB 3 add
<option role="configure">--with-db3[=DIR]</option>.
<note>
<para>
db3 conflicts with db2 and db4.
</para>
</note>
</para>
</entry>
</row>
<row>
<entry><literal>db4</literal></entry>
<entry>
<para>
To enable support for Oracle Berkeley DB 4 or 5 add
<option role="configure">--with-db4[=DIR]</option>.
<note>
<para>
db4 conflicts with db2 and db3.
</para>
</note>
<note>
<para>
The db libraries with
versions 4.1 through 4.1.24 cannot be used in any PHP version.
</para>
<para>
Support for BDB 5 was added in PHP 5.3.3.
</para>
</note>
</para>
</entry>
</row>
<row>
<entry><literal>cdb</literal></entry>
<entry>
<para>
To enable support for cdb add
<option role="configure">--with-cdb[=DIR]</option>.
<note>
<para>
You can omit DIR to use the bundled cdb library
that adds the cdb_make handler which allows creation of cdb files
and allows to access cdb files on the network using PHP's streams.
</para>
</note>
</para>
</entry>
</row>
<row>
<entry><literal>flatfile</literal></entry>
<entry>
<para>
To enable support for flatfile add
<option role="configure">--enable-flatfile</option>.
Before PHP 5.2.1 the <option role="configure">--with-flatfile</option>
had to be used instead.
<note>
<para>
This was added to add compatibility with deprecated
<literal>dbm</literal> extension. Use this handler only
when you cannot install one of the libraries required by the other
handlers and when you cannot use bundled cdb handler.
</para>
</note>
</para>
</entry>
</row>
<row>
<entry><literal>inifile</literal></entry>
<entry>
<para>
To enable support for <literal>inifile</literal> add
<option role="configure">--enable-inifile</option>.
Before PHP 5.2.1 the <option role="configure">--with-inifile</option>
had to be used instead.
<note>
<para>
This was added to allow to read and set microsoft style
<filename>.ini</filename> files (like the &php.ini; file).
</para>
</note>
</para>
</entry>
</row>
<row>
<entry><literal>qdbm</literal></entry>
<entry>
<para>
To enable support for qdbm add
<option role="configure">--with-qdbm[=DIR]</option>.
<note>
<para>
qdbm conflicts with dbm and gdbm.
</para>
</note>
<note>
<para>
The qdbm library can be downloaded from
<link xlink:href="&url.qdbm;"/>.
</para>
</note>
</para>
</entry>
</row>
<row>
<entry><literal>tcadb</literal></entry>
<entry>
<para>
To enable support for Tokyo Cabinet add
<option role="configure">--with-tcadb[=DIR]</option>.
<note>
<para>
The Tokyo Cabinet library can be downloaded from
<link xlink:href="&url.tcadb;"/>.
</para>
</note>
</para>
</entry>
</row>
<row>
<entry><literal>lmdb</literal></entry>
<entry>
<para>
To enable support for the Lightning Memory-Mapped Database add
<option role="configure">--with-lmdb[=DIR]</option>.
<note>
<para>
This was added in PHP 7.2.0. The Lightning Memory-Mapped Database
library can be downloaded from <link xlink:href="&url.lmdb;"/>.
</para>
</note>
</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->