Per PHP sono disponibili due implementazioni di Protobuf:
- C: utilizza l'estensione C di Protobuf PHP, 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 di 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 C
Per installare e configurare l'estensione C di Protobuf PHP:
Installa l'estensione utilizzando PECL:
sudo pecl install protobufAttiva l'estensione nel file
php.iniattivo (per gli ambienti CLI e server web come PHP-FPM o Apache; eseguiphp --iniper individuare il file di configurazione della 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
della libreria client PHP.composer installdalla directory che contiene il filecomposer.jsondel tuo progetto. Il filecomposer.jsondeve specificaregoogleads/google-ads-phpcome dipendenza.
Determinare quale implementazione viene utilizzata
Esegui questo comando nel terminale per verificare se l'estensione C è abilitata nell'ambiente PHP CLI:
php -i | grep protobuf
- Se l'output non è vuoto (ad esempio,
protobuf support => enabled), stai utilizzando l'implementazione C. - In caso contrario, non utilizzi l'implementazione C e la libreria dell'API Google Ads per PHP torna automaticamente all'implementazione PHP pura installata da Composer.