Implementacje protokołu Protobuf

Dostępne są 2 implementacje języka PHP:

  1. C używa rozszerzenia Protobuf PHP, które zapewnia lepszą wydajność.
  2. PHP: wykorzystuje pakiet PHP google/protobuf, który jest łatwiejszy do wdrożenia.

W miarę możliwości zalecamy stosowanie implementacji C, ale w niektórych przypadkach (np. gdy są ograniczone ze względu na zabezpieczenia lub wymagania techniczne) konieczne może być użycie PHP.

Implementacja PHP jest instalowana automatycznie tak jak wszystkie inne zależności googleapis/gax-php w usłudze Composer, ale jest używana w czasie działania tylko wtedy, gdy implementacja C nie jest zainstalowana i skonfigurowana.

Implementacja C

Aby zainstalować i skonfigurować rozszerzenie Protobuf PHP:

  1. Uruchom polecenie sudo pecl install protobuf z poziomu wiersza poleceń.
  2. Dodaj wiersz extension=protobuf.so do pliku php.ini.

Implementacja PHP

Upewnij się, że implementacja C jest wyłączona i że są zainstalowane wszystkie zależności biblioteki googleapis/gax-php:

  1. Zmień w komentarzach wszystkie wiersze w języku: extension=protobuf.so w wierszu php.ini.
  2. Uruchom composer install z katalogu zawierającego plik composer.json projektu, nad którym pracujesz. Pole composer.json powinno określać właściwość google-ads-php lub dowolny projekt, który wymaga go jako zależności.

Określanie, która implementacja jest używana

Uruchomienie php -i | grep protobuf:

  • Jeśli wartość nie jest pusta, używasz implementacji C.
  • W przeciwnym razie nie korzystasz z implementacji C, a biblioteka PHP interfejsu Google Ads API będzie korzystać z implementacji PHP (jeśli została zainstalowana prawidłowo za pomocą narzędzia Composer).