mirror of
https://github.com/php/doc-ru.git
synced 2025-08-16 18:22:04 +00:00

git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@348997 c90b9560-bf6c-de11-be94-00142212c4b1
240 lines
11 KiB
XML
240 lines
11 KiB
XML
<?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
|
||
-->
|