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 実装に自動的にフォールバックします。