Implémentations de tampons de protocole

Deux implémentations Protobuf sont disponibles pour PHP :

  1. C : utilise l'extension C de Protobuf pour PHP, qui offre des performances d'exécution nettement supérieures.
  2. PHP : utilise le package PHP google/protobuf, qui ne nécessite aucune extension système supplémentaire.

Utilisez l'implémentation C lorsque cela est possible, bien que l'implémentation PHP pur puisse être utilisée lorsque des contraintes de sécurité ou d'environnement empêchent l'installation d'extensions C.

L'implémentation PHP est automatiquement installée en tant que dépendance de googleapis/gax-php dans Composer, et n'est utilisée lors de l'exécution que si l'implémentation C n'est pas installée ni activée.

Implémentation en C

Pour installer et configurer l'extension C Protobuf PHP :

  1. Installez l'extension à l'aide de PECL :

    sudo pecl install protobuf
    
  2. Activez l'extension dans votre fichier php.ini actif (pour les environnements CLI et de serveur Web tels que PHP-FPM ou Apache ; exécutez php --ini pour localiser le fichier de configuration CLI) :

    extension=protobuf.so
    

Implémentation PHP

Pour utiliser l'implémentation PHP pur, assurez-vous que l'implémentation C est désactivée et que toutes les dépendances de googleapis/gax-php sont installées :

  1. Mettez en commentaire ou supprimez toute ligne extension=protobuf.so (ou extension=php_protobuf.dll) dans vos fichiers php.ini.
  2. Exécutez composer install à partir du répertoire contenant le fichier composer.json de votre projet. Le fichier composer.json doit spécifier googleads/google-ads-php comme dépendance.

Identifier l'implémentation utilisée

Exécutez la commande suivante dans votre terminal pour vérifier si l'extension C est activée dans votre environnement PHP CLI :

php -i | grep protobuf
  • Si le résultat n'est pas vide (par exemple, protobuf support => enabled), vous utilisez l'implémentation C.
  • Dans le cas contraire, vous n'utilisez pas l'implémentation C. La bibliothèque PHP de l'API Google Ads revient automatiquement à l'implémentation PHP pure installée par Composer.