Dostępne są 2 implementacje Protobuf dla PHP:
- C: korzysta z rozszerzenia Protobuf PHP C, które zapewnia znacznie lepszą wydajność w czasie działania.
- PHP korzysta z
google/protobufpakietu PHP, który nie wymaga dodatkowych rozszerzeń systemowych.
W miarę możliwości używaj implementacji w języku C, ale w przypadku ograniczeń związanych z bezpieczeństwem lub środowiskiem, które uniemożliwiają instalację rozszerzeń w języku C, możesz użyć implementacji w czystym PHP.
Implementacja PHP jest automatycznie instalowana jako zależność pakietu googleapis/gax-php w Composerze i jest używana w czasie działania tylko wtedy, gdy implementacja w języku 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(w przypadku środowisk interfejsu wiersza poleceń i serwera internetowego, takich jak PHP-FPM czy Apache; aby znaleźć plik konfiguracji interfejsu wiersza poleceń, uruchom poleceniephp --ini):extension=protobuf.so
Implementacja w PHP
Aby używać implementacji w czystym PHP, upewnij się, że implementacja w C jest wyłączona i że zainstalowane są wszystkie zależności googleapis/gax-php:
- Zakomentuj lub usuń dowolny wiersz
extension=protobuf.so(lubextension=php_protobuf.dll) w plikachphp.ini. Uruchom
.composer installw katalogu zawierającym 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 w języku C. - W przeciwnym razie nie używasz implementacji w języku C, a biblioteka interfejsu Google Ads API PHP automatycznie przełącza się na implementację w czystym języku PHP zainstalowaną przez Composer.