Recomendamos usar a implementação em C, se possível, mas o PHP pode ser necessário em alguns casos (por exemplo, quando limitado por restrições técnicas ou de segurança).
A implementação do PHP é instalada automaticamente como qualquer outra
dependência googleapis/gax-php no
Composer, mas ela é usada no tempo de execução somente se a implementação em C não estiver
instalada e configurada.
Implementação em C
Para instalar e configurar a extensão PHP do Protobuf:
Execute sudo pecl install protobuf na linha de comando.
Adicione uma linha extension=protobuf.so ao arquivo php.ini.
Implementação PHP
Verifique se a implementação em C está desativada e se todas as dependências da
biblioteca googleapis/gax-php estão
instaladas:
Marque como comentário qualquer linha extension=protobuf.so em php.ini.
Execute composer install no diretório que contém o arquivo
composer.json do projeto em que você está trabalhando. O composer.json precisa especificar google-ads-php ou qualquer projeto que exija isso como uma dependência.
Determinar qual implementação está sendo usada
Execute php -i | grep protobuf:
Se not estiver vazio, você estará usando a implementação em C.
Caso contrário, você não estará usando a implementação em C, e a biblioteca PHP da API Google Ads vai depender da implementação em PHP (se instalada corretamente usando o Composer).
[null,null,["Última atualização 2025-08-27 UTC."],[[["\u003cp\u003eThe Google Ads API for PHP offers two implementations: C (for performance) and PHP (for ease of use).\u003c/p\u003e\n"],["\u003cp\u003eThe C implementation utilizes the Protobuf PHP extension and requires manual installation via \u003ccode\u003epecl\u003c/code\u003e and \u003ccode\u003ephp.ini\u003c/code\u003e configuration.\u003c/p\u003e\n"],["\u003cp\u003eThe PHP implementation is automatically installed with \u003ccode\u003egoogleapis/gax-php\u003c/code\u003e dependencies but is used only if the C implementation is unavailable.\u003c/p\u003e\n"],["\u003cp\u003eUsers can determine the active implementation by running \u003ccode\u003ephp -i | grep protobuf\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Protobuf implementations\n\nThere are two implementations that are available for PHP:\n\n1. **C** : Uses the [Protobuf PHP extension](//pecl.php.net/package/protobuf) which gives better performance.\n2. **PHP** : Uses the [`google/protobuf` PHP\n package](//packagist.org/packages/google/protobuf) which is easier to implement.\n\nWe recommend using the C implementation if you can, but PHP may be needed in\nsome cases (such as when limited by security or technical constraints).\n\nThe PHP implementation is automatically installed like any other\n[`googleapis/gax-php`](https://github.com/googleapis/gax-php) dependencies in\nComposer, but it is used at runtime **only if** the C implementation is not\ninstalled and configured.\n\nC implementation\n----------------\n\nTo install and configure the Protobuf PHP extension:\n\n1. Run `sudo pecl install protobuf` from the command line.\n2. Add an `extension=protobuf.so` line to the `php.ini` file.\n\nPHP implementation\n------------------\n\nMake sure the C implementation is disabled and all the dependencies of\nthe [`googleapis/gax-php`](https://github.com/googleapis/gax-php) library are\ninstalled:\n\n1. Comment out any `extension=protobuf.so` line in `php.ini`.\n2. Run `composer install` from the directory that contains the\n `composer.json` file of the project being worked on. The `composer.json`\n should specify `google-ads-php` or any project that requires it as a\n dependence.\n\n | **Key Point:** Typically, the protobuf version that this PHP library relies on is transitively specified in [`composer.json`](https://github.com/googleapis/gax-php/blob/master/composer.json) of `google/gax`, which is one of the core dependencies. But for performance or compatibility reasons, we may specify the protobuf version directly in the PHP library's [`composer.json`](https://github.com/googleads/google-ads-php/blob/HEAD/composer.json).\n\nDetermine which implementation is being used\n--------------------------------------------\n\nRun `php -i | grep protobuf`:\n\n- If *not* empty, you're using the C implementation.\n- 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)."]]