Protobuf-Implementierungen

Für PHP sind zwei Implementierungen verfügbar:

  1. C: Verwendet die Protobuf-PHP-Erweiterung, was zu einer besseren Leistung führt.
  2. PHP: Verwendet das google/protobuf PHP-Paket, das einfacher zu implementieren ist.

Wir empfehlen, nach Möglichkeit die C-Implementierung zu verwenden. In einigen Fällen kann jedoch PHP erforderlich sein, z. B. wenn Sicherheits- oder technische Einschränkungen vorliegen.

Die PHP-Implementierung wird wie alle anderen googleapis/gax-php-Abhängigkeiten in Composer automatisch installiert. Sie wird aber nur dann bei der Laufzeit verwendet, wenn die C-Implementierung nicht installiert und konfiguriert ist.

C-Implementierung

So installieren und konfigurieren Sie die Protobuf-PHP-Erweiterung:

  1. Führen Sie sudo pecl install protobuf über die Befehlszeile aus.
  2. Fügen Sie der Datei php.ini eine extension=protobuf.so-Zeile hinzu.

PHP-Implementierung

Prüfen Sie, ob die C-Implementierung deaktiviert ist und alle Abhängigkeiten der googleapis/gax-php-Bibliothek installiert sind:

  1. Kommentieren Sie alle extension=protobuf.so-Zeilen in php.ini.
  2. Führen Sie composer install aus dem Verzeichnis aus, das die composer.json-Datei des Projekts enthält, an dem Sie gerade arbeiten. Für composer.json sollte google-ads-php oder ein Projekt angegeben werden, das es als Abhängigkeit erfordert.

Ermitteln, welche Implementierung verwendet wird

Führen Sie php -i | grep protobuf aus.

  • Wenn der Wert nicht leer ist, verwenden Sie die C-Implementierung.
  • Andernfalls wird die C-Implementierung nicht verwendet und die PHP-Bibliothek der Google Ads API verwendet die PHP-Implementierung (sofern sie mit Composer korrekt installiert wurde).