W przypadku PHP dostępne są 2 implementacje Protobuf:
- C: używa rozszerzenia Protobuf PHP C, które zapewnia znacznie lepszą wydajność środowiska wykonawczego.
- PHP używa pakietu PHP
google/protobuf, który nie wymaga dodatkowych rozszerzeń systemowych.
Jeśli to możliwe, używaj implementacji w języku C, ale możesz też używać implementacji w czystym PHP, gdy ograniczenia związane z bezpieczeństwem lub środowiskiem uniemożliwiają instalowanie rozszerzeń w języku C.
Implementacja PHP jest automatycznie instalowana jako zależność googleapis/gax-php w Composerze i jest używana w czasie działania tylko wtedy, gdy implementacja C nie jest zainstalowana i włączona.
Implementacja w języku C
Aby zainstalować i skonfigurować rozszerzenie Protobuf PHP C:
Zainstaluj rozszerzenie za pomocą PECL:
sudo pecl install protobufWłącz rozszerzenie w aktywnym pliku
php.ini(zarówno w środowisku interfejsu wiersza poleceń, jak i serwera WWW, np. PHP-FPM lub Apache; uruchomphp --ini, aby znaleźć plik konfiguracji interfejsu wiersza poleceń):extension=protobuf.so
Implementacja w PHP
Aby używać czystej implementacji PHP, upewnij się, że implementacja C jest wyłączona i że zainstalowane są wszystkie zależności googleapis/gax-php:
- Zmień w komentarz lub usuń wszystkie wiersze
extension=protobuf.so(lubextension=php_protobuf.dll) w plikachphp.ini. Uruchom
composer installz katalogu zawierającego plikcomposer.jsonprojektu. Plikcomposer.jsonpowinien określaćgoogleads/google-ads-phpjako zależność.
Określanie używanej implementacji
Aby sprawdzić, czy rozszerzenie C jest włączone w środowisku interfejsu wiersza poleceń PHP, uruchom w terminalu to polecenie:
php -i | grep protobuf
- Jeśli dane wyjściowe nie są puste (np.
protobuf support => enabled), używasz implementacji C. - W przeciwnym razie nie używasz implementacji C, a biblioteka PHP interfejsu Google Ads API automatycznie powraca do czystej implementacji PHP zainstalowanej przez Composera.