There are two implementations that are available for PHP:
- C: Uses the Protobuf PHP extension which gives better performance.
- PHP: Uses the
google/protobuf
PHP package which is easier to implement.
We recommend using the C implementation if you can, but PHP may be needed in some cases (such as when limited by security or technical constraints).
The PHP implementation is automatically installed like any other
googleapis/gax-php
dependencies in
Composer, but it is used at runtime only if the C implementation is not
installed and configured.
C implementation
To install and configure the Protobuf PHP extension:
- Run
sudo pecl install protobuf
from the command line. - Add an
extension=protobuf.so
line to thephp.ini
file.
PHP implementation
Make sure the C implementation is disabled and all the dependencies of
the googleapis/gax-php
library are
installed:
- Comment out any
extension=protobuf.so
line inphp.ini
. Run
composer install
from the directory that contains thecomposer.json
file of the project being worked on. Thecomposer.json
should specifygoogle-ads-php
or any project that requires it as a dependence.
Determine which implementation is being used
Run php -i | grep protobuf
:
- If not empty, you're using the C implementation.
- Otherwise, you're not using the C implementation and the Google Ads API PHP library will rely on the PHP implementation (if installed correctly using Composer).