Implementazioni Protobuf

Per PHP sono disponibili due implementazioni di Protobuf:

  1. C: utilizza l'estensione C di Protobuf PHP, che offre prestazioni di runtime notevolmente migliori.
  2. 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:

  1. Installa l'estensione utilizzando PECL:

    sudo pecl install protobuf
    
  2. Attiva l'estensione nel file php.ini attivo (per gli ambienti CLI e server web come PHP-FPM o Apache; esegui php --ini per 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:

  1. Commenta o rimuovi qualsiasi riga extension=protobuf.so (o extension=php_protobuf.dll) nei file php.ini.
  2. Esegui composer install dalla directory che contiene il file composer.json del tuo progetto. Il file composer.json deve specificare googleads/google-ads-php come dipendenza.

    della libreria client PHP.

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.