Há duas implementações do Protobuf disponíveis para PHP:
- C: usa a extensão Protobuf PHP C, que oferece um desempenho de ambiente de execução significativamente melhor.
- PHP: usa o pacote PHP
google/protobuf, que não requer outras extensões do sistema.
Use a implementação em C sempre que possível, embora a implementação em PHP puro possa ser usada quando restrições de segurança ou de ambiente impedirem a instalação de extensões em C.
A implementação do PHP é instalada automaticamente como uma dependência de
googleapis/gax-php no Composer e é usada no ambiente de execução somente se
a implementação do C não estiver instalada e ativada.
Implementação em C
Para instalar e configurar a extensão Protobuf PHP C:
Instale a extensão usando PECL:
sudo pecl install protobufAtive a extensão no arquivo
php.iniativo (para ambientes de CLI e de servidor da Web, como PHP-FPM ou Apache; executephp --inipara localizar o arquivo de configuração da CLI):extension=protobuf.so
Implementação PHP
Para usar a implementação pura do PHP, verifique se a implementação em C está desativada
e se todas as dependências de googleapis/gax-php estão instaladas:
- Comente ou remova qualquer linha
extension=protobuf.so(ouextension=php_protobuf.dll) nos arquivosphp.ini. Execute
composer installno diretório que contém o arquivocomposer.jsondo projeto. O arquivocomposer.jsonprecisa especificargoogleads/google-ads-phpcomo uma dependência.
Determinar qual implementação está sendo usada
Execute o seguinte comando no terminal para verificar se a extensão C está ativada no ambiente da CLI do PHP:
php -i | grep protobuf
- Se a saída não estiver vazia (por exemplo,
protobuf support => enabled), você está usando a implementação em C. - Caso contrário, você não está usando a implementação em C, e a biblioteca PHP da API Google Ads volta automaticamente para a implementação em PHP puro instalada pelo Composer.