Há duas implementações do Protobuf disponíveis para PHP:
- C: usa a extensão C do Protobuf PHP, que oferece um desempenho de execução significativamente melhor.
- PHP: usa o pacote PHP
google/protobuf, que não exige extensões adicionais 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 ambiente impedem a instalação de extensões em C.
A implementação em PHP é instalada automaticamente como uma dependência de
googleapis/gax-php no Composer e é usada durante a execução somente se
a implementação em C não estiver instalada e ativada.
Implementação em C
Para instalar e configurar a extensão C do PHP do Protobuf:
Instale a extensão usando o PECL:
sudo pecl install protobufAtive a extensão no arquivo
php.iniativo (para ambientes de servidor da Web e CLI, 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 em PHP puro, 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 comando a seguir 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.