Für PHP sind zwei Protobuf-Implementierungen verfügbar:
- C: Verwendet die Protobuf-C-Erweiterung für PHP, die eine deutlich bessere Laufzeitleistung bietet.
- PHP: Verwendet das
google/protobuf-PHP-Paket, für das keine zusätzlichen Systemerweiterungen erforderlich sind.
Verwenden Sie nach Möglichkeit die C-Implementierung. Die reine PHP-Implementierung kann verwendet werden, wenn Sicherheits- oder Umgebungsbeschränkungen die Installation von C-Erweiterungen verhindern.
Die PHP-Implementierung wird in Composer automatisch als Abhängigkeit von googleapis/gax-php installiert und zur Laufzeit nur dann verwendet, wenn die C-Implementierung nicht installiert und aktiviert ist.
C-Implementierung
So installieren und konfigurieren Sie die Protobuf-C-Erweiterung für PHP:
Installieren Sie die Erweiterung mit PECL:
sudo pecl install protobufAktivieren 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 Siephp --iniaus, 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 sein und alle Abhängigkeiten von googleapis/gax-php müssen installiert sein:
- Kommentieren Sie alle
extension=protobuf.so-Zeilen (oderextension=php_protobuf.dll-Zeilen) in Ihrenphp.ini-Dateien aus oder entfernen Sie sie. Führen Sie
eine Mindestversion von Protobuf angegeben werden.composer installin dem Verzeichnis aus, das die Dateicomposer.jsonIhres Projekts enthält. In der Dateicomposer.jsonsolltegoogleads/google-ads-phpals Abhängigkeit angegeben sein.
Ermitteln, welche Implementierung verwendet wird
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 Google Ads API PHP-Bibliothek greift automatisch auf die reine PHP-Implementierung zurück, die von Composer installiert wurde.