Für PHP sind zwei Protobuf-Implementierungen verfügbar:
- C: Verwendet die Protobuf PHP C-Erweiterung, die eine deutlich bessere Laufzeitleistung bietet.
- 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:
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 und alle Abhängigkeiten von googleapis/gax-php müssen installiert sein:
- Kommentieren Sie alle
extension=protobuf.so- (oderextension=php_protobuf.dll-)Zeilen in Ihrenphp.ini-Dateien aus oder entfernen Sie sie. Führen Sie
composer installin dem Verzeichnis aus, das die Dateicomposer.jsonIhres Projekts enthält. In der Dateicomposer.jsonsolltegoogleads/google-ads-phpals 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.