Implementazioni Protobuf

Sono disponibili due implementazioni di Protobuf per PHP:

  1. C: utilizza l'estensione Protobuf PHP C, 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 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:

  1. Installa l'estensione utilizzando PECL:

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

  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 progetto. Il file composer.json deve specificare googleads/google-ads-php come 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.