Implementações de Protobuf

Há duas implementações disponíveis para PHP:

  1. C: usa a extensão PHP Protobuf (em inglês) que oferece melhor desempenho.
  2. PHP: usa o pacote google/protobuf de PHP (links em inglês), que é mais fácil de implementar.

Recomendamos o uso da implementação em C, se possível, mas o PHP pode ser necessário em alguns casos (por exemplo, quando está limitado por restrições técnicas ou de segurança).

A implementação do PHP é instalada automaticamente como qualquer outra dependência de googleapis/gax-php no Composer. No entanto, ela é usada no momento da execução somente se a implementação em C não estiver instalada e configurada.

Implementação C

Para instalar e configurar a extensão Protobuf PHP:

  1. Execute sudo pecl install protobuf na linha de comando.
  2. Adicione uma linha extension=protobuf.so ao arquivo php.ini.

Implementação PHP

Confira se a implementação em C está desativada e todas as dependências da biblioteca googleapis/gax-php estão instaladas:

  1. Comente qualquer linha de extension=protobuf.so em php.ini.
  2. Execute composer install no diretório que contém o arquivo composer.json do projeto que está sendo executado. O composer.json precisa especificar google-ads-php ou qualquer projeto que exija ele como uma dependência.

Determinar qual implementação está sendo usada

Execute php -i | grep protobuf:

  • Se não estiver vazio, você está usando a implementação C.
  • Caso contrário, você não usará a implementação em C e a biblioteca PHP da API Google Ads usará a implementação em PHP (se instalada corretamente com o Composer).