-
Notifications
You must be signed in to change notification settings - Fork 58
/
Copy pathsetup.xml
167 lines (149 loc) · 5.55 KB
/
setup.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f88b2cc042d1045e9b106e43bf882df781ad8687 Maintainer: PhilDaiguille 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>
Esta extensión requiere un servidor MySQL 8+ con el complemento X
activado (por omisión).
</para>
<para>
Las bibliotecas prerrequisitos para compilar esta extensión son:
Boost (1.53.0 o superior), OpenSSL y Protobuf.
</para>
</section>
<section xml:id="mysql-xdevapi.installation">
&reftitle.install;
<para>
&pecl.moved;
</para>
<para>
Un ejemplo de procedimiento de instalación en Ubuntu 18.04 con PHP 7.2:
</para>
<programlisting>
<![CDATA[
// Dependencias
$ apt install build-essential libprotobuf-dev libboost-dev openssl protobuf-compiler liblz4-tool zstd
// PHP con las extensiones deseadas; php7.2-dev es requerido para compilar
$ apt install php7.2-cli php7.2-dev php7.2-mysql php7.2-pdo php7.2-xml
// Compilar esta extensión
$ pecl install mysql_xdevapi
]]>
</programlisting>
<para>
El comando <literal>pecl install</literal> no activa las extensiones PHP (por omisión)
y activar las extensiones PHP puede hacerse de varias maneras.
Otro ejemplo con PHP 7.2 en Ubuntu 18.04:
</para>
<programlisting>
<![CDATA[
// Crear su propio fichero ini
$ echo "extension=mysql_xdevapi.so" > /etc/php/7.2/mods-available/mysql_xdevapi.ini
// Utilizar el comando 'phpenmod' (nota: específico de Debian/Ubuntu)
$ phpenmod -v 7.2 -s ALL mysql_xdevapi
// Una alternativa a 'phpenmod' es crear un enlace simbólico manualmente
// $ ln -s /etc/php/7.2/mods-available/mysql_xdevapi.ini /etc/php/7.2/cli/conf.d/20-mysql_xdevapi.ini
// Veamos qué extensiones MySQL están activadas ahora
$ php -m |grep mysql
mysql_xdevapi
mysqli
mysqlnd
pdo_mysql
]]>
</programlisting>
<para>
&pecl.info;
<link xlink:href="&url.pecl.package;mysql_xdevapi">&url.pecl.package;mysql_xdevapi</link>.
</para>
</section>
<!-- {{{ Configuration -->
&reference.mysql-xdevapi.ini;
<!-- }}} -->
<section xml:id="mysql-xdevapi.build">
<title>Compilar a partir de las fuentes</title>
<para>
Consideraciones para compilar esta extensión a partir de las fuentes.
</para>
<itemizedlist>
<listitem>
<para>
El nombre de la extensión es 'mysql_xdevapi', por lo tanto, utilice <literal>--enable-mysql-xdevapi</literal>.
</para>
</listitem>
<listitem>
<para>
Boost; requerido, utilice opcionalmente la opción de configuración --with-boost=DIR
o defina la variable de entorno MYSQL_XDEVAPI_BOOST_ROOT. Solo se requieren
los ficheros de encabezado boost; no los binarios.
</para>
</listitem>
<listitem>
<para>
Google Protocol Buffers (protobuf): requerido, utilice opcionalmente la opción de configuración
--with-protobuf=DIR o defina la variable de entorno MYSQL_XDEVAPI_PROTOBUF_ROOT.
</para>
<para>
Opcionalmente utilice <literal>make protobufs</literal> para generar los ficheros protobuf (*.pb.cc/.h),
y <literal>make clean-protobufs</literal> para eliminar los ficheros protobuf generados.
</para>
<para>
Nota específica para Windows: según su entorno, la biblioteca estática con
un runtime DLL multi-thread puede ser necesaria.
Para preparar, utilice las siguientes opciones:
<emphasis>-Dprotobuf_MSVC_STATIC_RUNTIME=OFF -Dprotobuf_BUILD_SHARED_LIBS=OFF</emphasis>
</para>
</listitem>
<listitem>
<para>
Google Protocol Buffers / protoc: requerido, asegúrese de que el correcto
'protoc' esté disponible en el PATH durante la compilación. Esto es particularmente
importante ya que los scripts batch del SDK PHP Windows pueden sobrescribir el entorno.
</para>
</listitem>
<listitem>
<para>
Bison: requerido, y disponible en el PATH.
</para>
<para>
Nota específica para bison Windows: se recomienda encarecidamente utilizar bison
proporcionado con el SDK PHP elegido, de lo contrario, un error similar a "zend_globals_macros.h(39):
error C2375: 'zendparse': redefinition; different linkage
Zend/zend_language_parser.h(214): note: see declaration of 'zendparse'" puede
ser el resultado. Además, los scripts batch del SDK PHP Windows pueden sobrescribir el entorno.
</para>
</listitem>
<listitem>
<para>
Nota específica para Windows: para preparar el entorno, consulte la documentación oficial
de construcción de Windows para
<link xlink:href="&url.php.win.build2;">el SDK actual</link>.
</para>
<para>
Se recomienda utilizar las barras invertidas '\\' en lugar de una barra '/' para todos los caminos.
</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
-->