PHP で使用できる Protobuf 実装は 2 つあります。
- C: Protobuf PHP C 拡張機能を使用します。これにより、ランタイム パフォーマンスが大幅に向上します。
- PHP:
google/protobufPHP パッケージを使用します。追加のシステム拡張機能は必要ありません。
可能な場合は C 実装を使用します。ただし、セキュリティや環境の制約により C 拡張機能をインストールできない場合は、純粋な PHP 実装を使用できます。
PHP 実装は、Composer の googleapis/gax-php の依存関係として自動的にインストールされ、C 実装がインストールされて有効になっていない場合にのみ、実行時に使用されます。
C 実装
Protobuf PHP C 拡張機能をインストールして構成するには:
PECL を使用して拡張機能をインストールします。
sudo pecl install protobufアクティブな
php.iniファイルで拡張機能を有効にします(CLI 環境とウェブサーバー環境(PHP-FPM や Apache など)の両方。php --iniを実行して CLI 構成ファイルを見つけます)。extension=protobuf.so
PHP の実装
純粋な PHP 実装を使用するには、C 実装が無効になっていることと、googleapis/gax-php のすべての依存関係がインストールされていることを確認します。
php.iniファイル内のextension=protobuf.so(またはextension=php_protobuf.dll)行をコメントアウトするか、削除します。プロジェクトの
composer.jsonファイルを含むディレクトリからcomposer installを実行します。composer.jsonファイルでは、依存関係としてgoogleads/google-ads-phpを指定する必要があります。
使用されている実装を特定する
ターミナルで次のコマンドを実行して、PHP CLI 環境で C 拡張機能が有効になっているかどうかを確認します。
php -i | grep protobuf
- 出力が空でない場合(
protobuf support => enabledなど)、C 実装を使用しています。 - それ以外の場合、C 実装は使用されず、Google Ads API PHP ライブラリは Composer によってインストールされた純粋な PHP 実装に自動的にフォールバックします。