&reftitle.setup;
&reftitle.required;
この拡張モジュールは、X プラグインを有効にした(デフォルトで有効になっています)
MySQL 8 以上のサーバーが必須です。
この拡張モジュールをコンパイルするために前提となるライブラリは以下です:
Boost (1.53.0 以上), OpenSSL, and Protobuf
&reftitle.install;
&pecl.moved;
Ubuntu 18.04 上の PHP 7.2 でインストールする例:
pecl install コマンドは、PHP の拡張モジュールを有効にしません(デフォルト)
し、PHP の拡張モジュールを有効にする方法は複数あります。
Ubuntu 18.04 上の PHP 7.2 でインストールする別の例を以下に示します:
/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
]]>
&pecl.info;
&url.pecl.package;mysql_xdevapi
&reference.mysql-xdevapi.ini;
ソースコードからビルド / コンパイルする
この拡張モジュールをソースコードからコンパイルする際に、考慮すべき事項は以下です。
拡張モジュールの名前は 'mysql_xdevapi' です。
よって、 --enable-mysql-xdevapi を使ってください。
Boost が必須です。
オプションで configure オプション --with-boost=DIR や
MYSQL_XDEVAPI_BOOST_ROOT 環境変数が使えます。
boost のヘッダファイルのみが必須で、ライブラリファイルは必要ありません。
Google の Protocol Buffers (protobuf) が必須です。
オプションで configure オプション --with-protobuf=DIR や
MYSQL_XDEVAPI_PROTOBUF_ROOT 環境変数が使えます。
protobuf ファイル (*.pb.cc/.h) を生成するのに
オプションで make protobufs が使えますし、
生成された protobuf ファイルを削除するのに
make clean-protobufs が使えます。
Windows 特有の protobuf に関する注意:
環境によっては、マルチスレッドに対応した
DLL ランタイムが含まれる静的ライブラリが必要かもしれません。
これを準備するには、以下のオプションを使ってください:
-Dprotobuf_MSVC_STATIC_RUNTIME=OFF -Dprotobuf_BUILD_SHARED_LIBS=OFF
Google の Protocol Buffers / protocol コンパイラ (protoc) が必須です。
適切な 'protoc' コマンドが ビルド中に PATH が通った場所に置いておいてください。
このことは、Windows PHP SDK バッチスクリプトが
この環境変数を上書きする可能性があるため特に重要です。
Bison は必須です。PATH が通った場所に置いておいてください。
Window 特有の bison に関する注意:
PHP SDK と同梱されている bison を使うことを強く推奨します。
さもなければ、次のメッセージに似たエラーが出る可能性があります。
"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 バッチスクリプトが
環境変数を上書きする可能性があることにも注意してください。
Windows 特有の注意:
環境を準備するために、オフィシャルな Windows ビルドドキュメント
(現行のSDK)
を参照ください
全てのファイルpathについて、スラッシュ '/' ではなく、
バックスラッシュ '\\' を使うことを推奨します。