Files
php-doc-ru/reference/mysql_xdevapi/setup.xml
sergey d9b6df5f61 upd: actual en-revision
git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@347973 c90b9560-bf6c-de11-be94-00142212c4b1
2019-09-11 05:32:24 +00:00

170 lines
6.8 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"?>
<!-- $Revision$ -->
<!-- EN-Revision: 2ba52fd8a18f055199cb7fd53dbc28380676b16a Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<chapter xml:id="mysql-xdevapi.setup" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.setup;
<section xml:id="mysql-xdevapi.requirements">
&reftitle.required;
<para>
Для этого модуля требуется сервер MySQL 8+ с включенным
плагином X (по умолчанию).
</para>
<para>
Необходимые библиотеки для компиляции этого модуля:
Boost (1.53.0 или выше), OpenSSL и Protobuf.
</para>
</section>
<section xml:id="mysql-xdevapi.installation">
&reftitle.install;
<para>
&pecl.moved;
</para>
<para>
Пример процедуры установки на Ubuntu 18.04 с PHP 7.2:
</para>
<programlisting>
<![CDATA[
// Зависимости
$ apt install build-essential libprotobuf-dev libboost-dev openssl protobuf-compiler
// PHP с нужными модулями; php7.2-dev, необходимым для компиляции
$ apt install php7.2-cli php7.2-dev php7.2-mysql php7.2-pdo php7.2-xml
// Компиляция модуля
$ pecl install mysql_xdevapi
]]>
</programlisting>
<para>
Команда <literal>pecl install</literal> не включает модули PHP (по умолчанию),
включение модулей PHP может быть сделано несколькими способами.
Другой пример PHP 7.2 в Ubuntu 18.04:
</para>
<programlisting>
<![CDATA[
// Создание собственного ini файла
$ echo "extension=mysql_xdevapi.so" > /etc/php/7.2/mods-available/mysql_xdevapi.ini
// Использование команды 'phpenmod' (примечание: это применимо для Debian/Ubuntu)
$ phpenmod -v 7.2 -s ALL mysql_xdevapi
// Альтернативой 'phpenmod' является создание символической ссылки
// $ ln -s /etc/php/7.2/mods-available/mysql_xdevapi.ini /etc/php/7.2/cli/conf.d/20-mysql_xdevapi.ini
// Давайте посмотрим, какие модули MySQL сейчас включены
$ php -m |grep mysql
mysql_xdevapi
mysqli
mysqlnd
pdo_mysql
]]>
</programlisting>
<para>
&pecl.info;
<link xlink:href="&url.pecl.package;apc">&url.pecl.package;mysql_xdevapi</link>.
</para>
</section>
<!-- {{{ Configuration -->
&reference.mysql-xdevapi.ini;
<!-- }}} -->
<section xml:id="mysql-xdevapi.build">
<title>Сборка / Компиляция из исходного кода</title>
<para>
Соображения по компиляции этого модуля из исходного кода.
</para>
<itemizedlist>
<listitem>
<para>
Имя модуля - 'mysql_xdevapi', поэтому используйте <literal>--enable-mysql-xdevapi</literal>.
</para>
</listitem>
<listitem>
<para>
Boost: обязателен, при необходимости используйте параметр конфигурации --with-boost=DIR
или задайте переменную окружения MYSQL_XDEVAPI_BOOST_ROOT.
Требуются только файлы заголовков boost; не двоичные файлы.
</para>
</listitem>
<listitem>
<para>
Google Protocol Buffers (protobuf): обязателен, при необходимости используйте параметр конфигурации --with-protobuf=DIR
или задайте переменную окружения MYSQL_XDEVAPI_PROTOBUF_ROOT.
</para>
<para>
При желании используйте <literal>make protobufs</literal> для создания файлов protobuf (*.pb.cc/.h) и <literal>make clean-protobufs</literal> для удаления созданных файлов protobuf.
</para>
<para>
Примечание к protobuf на Windows: в зависимости от окружения
может потребоваться статическая библиотека с многопоточным временем выполнения DLL.
Для подготовки используйте следующие параметры:
<emphasis>-Dprotobuf_MSVC_STATIC_RUNTIME=OFF -Dprotobuf_BUILD_SHARED_LIBS=OFF</emphasis>
</para>
</listitem>
<listitem>
<para>
Google Protocol Buffers / protocol compiler (protoc): обязательны, убедитесь,
что во время сборки в PATH доступен правильный 'protoc'. Это особенно
важно, поскольку пакетные сценарии Windows PHP SDK могут перезаписывать окружение.
</para>
</listitem>
<listitem>
<para>
Bison: обязателен, и доступен из PATH.
</para>
<para>
Примечание к bison на Windows: мы настоятельно рекомендуем, чтобы bison, поставляемый с
выбранным PHP SDK, использовал еще одну ошибку, похожую на "zend_globals_macros.h(39):
error C2375: 'zendparse': redefinition; different linkage
Zend/zend_language_parser.h(214): примечание: note: see declaration of 'zendparse'".
Кроме того, пакетные сценарии Windows PHP SDK могут перезаписывать окружение.
</para>
</listitem>
<listitem>
<para>
Примечания для Windows: Чтобы подготовить окружение, ознакомьтесь с официальной
документацией по сборке Windows для
<link xlink:href="&url.php.win.build;">оригинального SDK</link> (устаревший, только PHP-7.1) или
<link xlink:href="&url.php.win.build2;">текущего SDK</link> (PHP-7.1 или новее).
</para>
<para>
Мы рекомендуем использовать обратную косую черту '\\' вместо косой черты '/' для всех путей.
</para>
</listitem>
</itemizedlist>
</section>
</chapter>
<!-- 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
-->