Deux implémentations Protobuf sont disponibles pour PHP :
- C : utilise l'extension C de Protobuf pour PHP, qui offre des performances d'exécution nettement supérieures.
- 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 :
Installez l'extension à l'aide de PECL :
sudo pecl install protobufActivez l'extension dans votre fichier
php.iniactif (pour les environnements CLI et de serveur Web tels que PHP-FPM ou Apache ; exécutezphp --inipour 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 :
- Mettez en commentaire ou supprimez toute ligne
extension=protobuf.so(ouextension=php_protobuf.dll) dans vos fichiersphp.ini. Exécutez
composer installà partir du répertoire contenant le fichiercomposer.jsonde votre projet. Le fichiercomposer.jsondoit spécifiergoogleads/google-ads-phpcomme 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.