google_ads_logo

Google AdsのMCCアカウントでキーワードプランナーを無料で使えるようにするまでの記事の続きで、Google Ads APIを使用するための手順を整理する。

サービスの概要 | Google Ads API Beta | Google Developersに目を通すと、


grpc-logo


事前にgRPCを使えるようにしておいてほしいとのことで、gRPC for PHPのインストールを行う。

※gRPCの仕組みは難しいので今回の記事では端折る

gRPC – A high-performance, open source universal RPC framework


gRPC for PHPのインストール | Google Cloudのページを読むと、PHPでgRPCを利用するためには、事前に、


pear_logo


PHPのPEAR(PECL)と、

PEAR - PHP Extension and Application Repository

PECL :: The PHP Extension Community Library


composer_logo

Composerを使えるようにしておく必要がある。

Composer - A Dependency Manager for PHP




今回の記事は下記の環境で話を進める。

OS:Ubuntu 19.10

Apache 2.4.43

PHP 7.4.5 FPM/FastCGI


最初にPECLの方を使用できるようにするため、端末で下記のコマンドを実行する。

$ sudo apt install autoconf libz-dev php7.4-dev php-pear
#peclコマンドが使用できるようになったか?
$ pecl

続いて、Composerのインストールを行う。

せっかくなので、公式サイトの方のインストール方法に従って操作することにする。

下記のコマンドを実行する。

$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
php -r "unlink('composer-setup.php');"
#composerのインストールを確認
$ composer -V

これでgRPC for PHPのインストールの準備ができた。




gRPC for PHPのインストールのために下記のコマンドを実行する。

※Composerをインストールしたけれども、Composerを使用しない手順の方にする

$ sudo pecl install grpc

gRPCをインストールできたら、php.iniにextensionとして登録しておく必要があるが、ここで一つ注意が必要で、gRPCをコマンドラインから使用するのであれば、cliの方のphp.iniを変更する必要がある。

意味があるかどうかわからないけれども、ブラウザを介してもgRPCを使えるようにしておく。

/etc/php/7.4/cli/php.iniと/etc/php/7.4/fpm/php.iniに下記の行を追加する。

extension=grpc.so

続いて、PECL経由でprotobufをインストールするために下記のコマンドを実行する。

$ sudo pecl install protobuf

Protocol Buffers | Google Develoers


gPRC同様、protobufもphp.iniに登録するために、/etc/php/7.4/cli/php.iniと/etc/php/7.4/fpm/php.iniに下記の行を追加する。

extension=protobuf.so

これで設定は終了。サンプルコードを試すべきだけれども、サンプルコードの準備が大変なので、FPMの方のphp.iniにもextensionを追加した方で確認する。

phpinfo();で


grpc_for_php_grpc_ext


grpc_for_php_protobuf_ext


grpcとprotobufが追加されていることが確認できたので良しとしよう。


補足

cliの方ではphp -m で確認できる。