Files
php-doc-ru/reference/mongodb/configure.xml
2020-01-24 06:32:55 +00:00

240 lines
11 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 216fb141c59de4b785fa4b6642169fd0eb5dc4fa Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<!-- $Revision$ -->
<article xml:id="mongodb.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.install;
<section xml:id="mongodb.installation.pecl">
<title>Установка драйвера MongoDB PHP с помощью PECL</title>
<para>
&pecl.info;
<link xlink:href="&url.pecl.package;mongodb">&url.pecl.package;mongodb</link>
</para>
<para>
Пользователи Linux, Unix и macOS могут использовать следующую команду для установки драйвера:
<programlisting role="shell">
<![CDATA[
$ sudo pecl install mongodb
]]>
</programlisting>
</para>
<para>
Если на вашей системе установлено несколько версий PHP (например для macOS:
установка по умолчанию, Homebrew и
<link xlink:href="&url.xampp;">XAMPP</link>), обратите внимание, что
каждая из них имеет собственную команду <link linkend="install.pecl">pecl</link>
и файл &php.ini;.
</para>
<para>
Установка драйвера с помощью PECL использует встгоенные библиотеки
<link xlink:href="&url.mongodb.libbson;">libbson</link> и
<link xlink:href="&url.mongodb.libmongoc;">libmongoc</link> и попытается
сконфигурировать их автоматически.
</para>
<note>
<simpara>
Если процесс установки не сможет найти библиотеку SSL, убедитесь, что
установлены разработческие пакеты (такие как <literal>libssl-dev</literal>) и
пакет <link xlink:href="&url.mongodb.wiki.pkg-config;">pkg-config</link>.
Если это не поможет, то произведите
<link linkend="mongodb.installation.manual">ручную установку</link>.
</simpara>
</note>
<para>
И, в конце концов, добавьте следующую строку в &php.ini;:
<programlisting role="ini">
<![CDATA[
extension=mongodb.so
]]>
</programlisting>
</para>
</section>
<section xml:id="mongodb.installation.homebrew">
<title>Установка драйвера MongoDB PHP на macOS помощью Homebrew</title>
<para>
Начиная с <link xlink:href="https://brew.sh/2018/01/19/homebrew-1.5.0/">Homebrew 1.5.0</link>,
пакет <link xlink:href="&url.mac.homebrew;">Homebrew/php tap</link>
был объявлен устаревшим и удалил формулы для этого расширеня PHP.
В дальнейшем пользователям macOS рекомендуется устанавливать драйвер через
формулу <link xlink:href="https://formulae.brew.sh/formula/php">php</link> и следовать
стандартным <link linkend="mongodb.installation.pecl">иснтрукциям по установке из PECL</link>
используя команду <link linkend="install.pecl">pecl</link> предоставляемую
установкой PHP через Homebrew.
</para>
</section>
<section xml:id="mongodb.installation.windows">
<title>Установка драйвера MongoDB PHP под Windows</title>
<para>
Скомпилированные модули для каждой версии доступны на сайте
<link xlink:href="&url.pecl.package;mongodb">PECL</link> для всех
комбинаций версий, потокобезопасности и библиотек VC. Разархивируйте
загруженный модуль и скопируйте <filename>php_mongo.dll</filename> в
директорию с расширениями PHP (по умолчанию "ext").
</para>
<para>
Добавьте следующую строку в &php.ini;:
<programlisting role="ini">
<![CDATA[
extension=php_mongo.dll
]]>
</programlisting>
</para>
<note>
<title>Дополнительные зависимости DLL для пользователей Windows</title>
<para>
&ext.windows.path.dll;
<filename>libsasl.dll</filename>
</para>
</note>
</section>
<section xml:id="mongodb.installation.manual">
<title>Ручная установка драйвера MongoDB PHP</title>
<para>
Разработчики драйверов и людей заинтересованные в самых свежих версиях,
могут собрать драйвер из исходных кодов, которые находятся тут:
<link xlink:href="&url.mongodb.github;">Github</link>. Запустите следующие
команды для клонирования и сборки проекта:
<programlisting role="shell">
<![CDATA[
$ git clone https://github.com/mongodb/mongo-php-driver.git
$ cd mongo-php-driver
$ git submodule update --init
$ phpize
$ ./configure
$ make all
$ sudo make install
]]>
</programlisting>
</para>
<para>
Если на вашей системе установлено несколько версий PHP (например для macOS
установка по умолчанию <emphasis>И</emphasis>
<link xlink:href="&url.xampp;">XAMPP</link>), обратите внимание, что
каждая из них имеет собственную команду
<link linkend="install.pecl.phpize">phpize</link> и файл &php.ini;.
</para>
<para>
По умолчанию драйвер будет использовать встроенную версию
<link xlink:href="&url.mongodb.libbson;">libbson</link>,
<link xlink:href="&url.mongodb.libmongoc;">libmongoc</link> и <link xlink:href="&url.mongodb.libmongocrypt;">libmongocrypt</link> и попытается
настроить их самостоятельно. Если эти библиотеки уже установлены в
системе, вы можете сообщить драйверу об этом с помощью аргумента
<literal>--with-libbson=yes --with--libmongoc=yes</literal> команды
<literal>configure</literal>. Начиная с версии 1.7.0 модуля, эти аргументы устарели, и вы должны использовать вместо них <literal>--with-mongodb-system-libs=yes</literal>.
</para>
<para>
Полный список опций команды <literal>configure</literal> можно получить с
помощью <command>configure --help</command>.
</para>
<para>
При использовании встроенных версий libbson и libmongoc, драйвер также
попытается выбрать библиотеку SSL в соответствии с опцией
<literal>--with-mongodb-ssl</literal> команды
<literal>configure</literal>. По умолчанию это
<literal>--with-mongodb-ssl=auto</literal>, что приведет к поиску в таком
порядке: Secure Transport (только macOS), OpenSSL, LibreSSL.
Также вы можете явно указать <literal>openssl</literal>,
<literal>libressl</literal> или <literal>darwin</literal>.
</para>
<note>
<para>
Если процесс установки не сможет найти библиотеку SSL, убедитесь, что
установлены разработческие пакеты (такие как <literal>libssl-dev</literal>) и
пакет <link xlink:href="&url.mongodb.wiki.pkg-config;">pkg-config</link>.
</para>
<para>
При использовании Homebrew для macOS, обычна ситуация, когда
установлено несколько разных версий OpenSSL. Для использования именно той
версии, которая вам нужна, соответствующим образом установите переменную
окружения <literal>PKG_CONFIG_PATH</literal>. Она будет использоваться
<literal>pkg-config</literal> для определения пути поиска . Если не используется
<literal>pkg-config</literal>, то можно использовать <literal>configure</literal>
с ключем <literal>--with-openssl-dir=DIR</literal> (только для OpenSSL).
</para>
</note>
<para>
На последнем, финальном шаге, <command>make install</command>
выведет путь, по которому была собран модуль
<filename>mongodb.so</filename>. Например так:
<programlisting role="txt">
<![CDATA[
Installing shared extensions: /usr/lib/php/extensions/debug-non-zts-20151012/
]]>
</programlisting>
</para>
<para>
Убедитесь, что директива <link linkend="ini.extension-dir">extension_dir</link> файла
&php.ini; указывает на каталог, в котором присутствует библиотека <filename>mongodb.so</filename>.
Проверить значение этой директивы можно так:
<programlisting role="shell">
<![CDATA[
$ php -i | grep extension_dir
extension_dir => /usr/lib/php/extensions/debug-non-zts-20151012 =>
/usr/lib/php/extensions/debug-non-zts-20151012
]]>
</programlisting>
</para>
<para>
Если директории отличаются, то поменяйте значение
<link linkend="ini.extension-dir">extension_dir</link> в &php.ini; или
просто переместите <filename>mongodb.so</filename> в нужную директорию.
</para>
<para>
Добавьте следующую строку в &php.ini;:
<programlisting role="ini">
<![CDATA[
extension=mongodb.so
]]>
</programlisting>
</para>
</section>
</article>
<!-- 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
-->