Sono disponibili due implementazioni di Protobuf per PHP:
- C: utilizza l'estensione Protobuf PHP C, che offre prestazioni di runtime notevolmente migliori.
- PHP: utilizza il pacchetto PHP
google/protobuf, che non richiede estensioni di sistema aggiuntive.
Utilizza l'implementazione C quando possibile, anche se l'implementazione PHP pura può essere utilizzata quando i vincoli di sicurezza o dell'ambiente impediscono l'installazione delle estensioni C.
L'implementazione PHP viene installata automaticamente come dipendenza di googleapis/gax-php in Composer e viene utilizzata in fase di runtime solo se l'implementazione C non è installata e abilitata.
Implementazione in C
Per installare e configurare l'estensione Protobuf PHP C:
Installa l'estensione utilizzando PECL:
sudo pecl install protobufAbilita l'estensione nel file
php.iniattivo (sia per gli ambienti CLI che per quelli dei server web come PHP-FPM o Apache; eseguiphp --iniper individuare il file di configurazione CLI):extension=protobuf.so
Implementazione PHP
Per utilizzare l'implementazione PHP pura, assicurati che l'implementazione C sia disattivata
e che tutte le dipendenze di googleapis/gax-php siano installate:
- Commenta o rimuovi qualsiasi riga
extension=protobuf.so(oextension=php_protobuf.dll) nei filephp.ini. Esegui
composer installdalla directory che contiene il filecomposer.jsondel progetto. Il filecomposer.jsondeve specificaregoogleads/google-ads-phpcome dipendenza.
Determina l'implementazione in uso
Esegui questo comando nel terminale per verificare se l'estensione C è abilitata nel tuo ambiente PHP CLI:
php -i | grep protobuf
- Se l'output non è vuoto (ad esempio,
protobuf support => enabled), significa che stai utilizzando l'implementazione C. - In caso contrario, non stai utilizzando l'implementazione C e la libreria PHP dell'API Google Ads torna automaticamente all'implementazione PHP pura installata da Composer.