Protobuf-Implementierungen

Für PHP sind zwei Protobuf-Implementierungen verfügbar:

  1. C: Verwendet die Protobuf PHP C-Erweiterung, die eine deutlich bessere Laufzeitleistung bietet.
  2. PHP: Verwendet das PHP-Paket google/protobuf, für das keine zusätzlichen Systemerweiterungen erforderlich sind.

Verwenden Sie nach Möglichkeit die C-Implementierung. Die reine PHP-Implementierung kann jedoch verwendet werden, wenn Sicherheits- oder Umgebungseinschränkungen die Installation von C-Erweiterungen verhindern.

Die PHP-Implementierung wird automatisch als Abhängigkeit von googleapis/gax-php in Composer installiert und nur dann zur Laufzeit verwendet, wenn die C-Implementierung nicht installiert und aktiviert ist.

C-Implementierung

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

  1. Installieren Sie die Erweiterung mit PECL:

    sudo pecl install protobuf
    
  2. Aktivieren Sie die Erweiterung in Ihrer aktiven php.ini-Datei (sowohl für CLI- als auch für Webserverumgebungen wie PHP-FPM oder Apache; führen Sie php --ini aus, um die CLI-Konfigurationsdatei zu finden):

    extension=protobuf.so
    

PHP-Implementierung

Wenn Sie die reine PHP-Implementierung verwenden möchten, muss die C-Implementierung deaktiviert und alle Abhängigkeiten von googleapis/gax-php müssen installiert sein:

  1. Kommentieren Sie alle extension=protobuf.so- (oder extension=php_protobuf.dll-)Zeilen in Ihren php.ini-Dateien aus oder entfernen Sie sie.
  2. Führen Sie composer install in dem Verzeichnis aus, das die Datei composer.json Ihres Projekts enthält. In der Datei composer.json sollte googleads/google-ads-php als Abhängigkeit angegeben sein.

Verwendete Implementierung ermitteln

Führen Sie den folgenden Befehl in Ihrem Terminal aus, um zu prüfen, ob die C-Erweiterung in Ihrer PHP-CLI-Umgebung aktiviert ist:

php -i | grep protobuf
  • Wenn die Ausgabe nicht leer ist (z. B. protobuf support => enabled), verwenden Sie die C-Implementierung.
  • Andernfalls verwenden Sie die C-Implementierung nicht und die PHP-Bibliothek der Google Ads API greift automatisch auf die reine PHP-Implementierung zurück, die von Composer installiert wurde.