-
Notifications
You must be signed in to change notification settings - Fork 157
/
Copy pathsetup.xml
167 lines (149 loc) · 5.56 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: Fan2Shrek Status: ready -->
<!-- Reviewed: yes -->
<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>
Cette extension nécessite un serveur MySQL 8+ avec le plugin X
ctivé (par défaut).
</para>
<para>
Les bibliothèques prérequises pour compiler cette extension sont :
Boost (1.53.0 ou supérieur), OpenSSL et Protobuf.
</para>
</section>
<section xml:id="mysql-xdevapi.installation">
&reftitle.install;
<para>
&pecl.moved;
</para>
<para>
Un exemple de procédure d'installation sur Ubuntu 18.04 avec PHP 7.2 :
</para>
<programlisting>
<![CDATA[
// Dépendances
$ apt install build-essential libprotobuf-dev libboost-dev openssl protobuf-compiler liblz4-tool zstd
// PHP avec les extensions désirées; php7.2-dev est requis pour compiler
$ apt install php7.2-cli php7.2-dev php7.2-mysql php7.2-pdo php7.2-xml
// Compiler cette extension
$ pecl install mysql_xdevapi
]]>
</programlisting>
<para>
La commande <literal>pecl install</literal> n'active pas les extensions PHP (par défaut)
et activer les extensions PHP peut se faire de plusieurs manières.
Un autre exemple avec PHP 7.2 sur Ubuntu 18.04 :
</para>
<programlisting>
<![CDATA[
// Créer son propre fichier ini
$ echo "extension=mysql_xdevapi.so" > /etc/php/7.2/mods-available/mysql_xdevapi.ini
// Utiliser la commande 'phpenmod' (note: spécifique à Debian/Ubuntu)
$ phpenmod -v 7.2 -s ALL mysql_xdevapi
// Une alternative à 'phpenmod' est de créer un lien symbolique manuellement
// $ ln -s /etc/php/7.2/mods-available/mysql_xdevapi.ini /etc/php/7.2/cli/conf.d/20-mysql_xdevapi.ini
// Voyons quelles extensions MySQL sont activées maintenant
$ 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>Compiler à partir des sources</title>
<para>
Considérations pour compiler cette extension à partir des sources.
</para>
<itemizedlist>
<listitem>
<para>
Le nom de l'extension est 'mysql_xdevapi', donc utilisez <literal>--enable-mysql-xdevapi</literal>.
</para>
</listitem>
<listitem>
<para>
Boost; requis, utilisez optionnellement l'option de configuration --with-boost=DIR
ou définissez la variable d'environnement MYSQL_XDEVAPI_BOOST_ROOT. Seuls les
fichiers d'en-tête boost sont requis; pas les binaires.
</para>
</listitem>
<listitem>
<para>
Google Protocol Buffers (protobuf): requis, utilisez optionnellement l'option de configuration
--with-protobuf=DIR ou définissez la variable d'environnement MYSQL_XDEVAPI_PROTOBUF_ROOT.
</para>
<para>
Optionnellement utilisez <literal>make protobufs</literal> pour générer les fichiers protobuf (*.pb.cc/.h),
et <literal>make clean-protobufs</literal> pour supprimer les fichiers protobuf générés.
</para>
<para>
Note spécifique à Windows: selon votre environnement, la bibliothèque statique avec
un runtime DLL multi-thread peut être nécessaire.
Pour préparer, utilisez les options suivantes :
<emphasis>-Dprotobuf_MSVC_STATIC_RUNTIME=OFF -Dprotobuf_BUILD_SHARED_LIBS=OFF</emphasis>
</para>
</listitem>
<listitem>
<para>
Google Protocol Buffers / protoc: requis, assurez-vous que le bon
'protoc' est disponible dans le PATH lors de la compilation. C'est particulièrement
important car les scripts batch du SDK PHP Windows peuvent écraser l'environnement.
</para>
</listitem>
<listitem>
<para>
Bison: requis, et disponible dans le PATH.
</para>
<para>
Note spécifique à bison Windows: nous recommandons fortement d'utiliser bison
fourni avec le SDK PHP choisi, sinon une erreur similaire à "zend_globals_macros.h(39):
error C2375: 'zendparse': redefinition; different linkage
Zend/zend_language_parser.h(214): note: see declaration of 'zendparse'" peut
être le résultat. De plus, les scripts batch du SDK PHP Windows peuvent écraser l'environnement.
</para>
</listitem>
<listitem>
<para>
Note spécifique à Windows: pour préparer l'environnement, voir la documentation officielle
de construction Windows pour
<link xlink:href="&url.php.win.build2;">le SDK actuel</link>.
</para>
<para>
Nous recommandons d'utiliser les antislash '\\' au lieu d'un slash '/' pour tous les chemins.
</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
-->