Deux implémentations Protobuf sont disponibles pour PHP :
- C : utilise l'extension Protobuf PHP C, 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 pure 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 au moment de l'exécution que si l'implémentation C n'est pas installée et activée.
Implémentation en C
Pour installer et configurer l'extension Protobuf PHP C, procédez comme suit :
Installez l'extension à l'aide de PECL :
sudo pecl install protobufActivez l'extension dans votre fichier
php.iniactif (pour les environnements de CLI et de serveur Web tels que PHP-FPM ou Apache ; exécutezphp --inipour localiser le fichier de configuration de la CLI) :extension=protobuf.so
Implémentation PHP
Pour utiliser l'implémentation PHP pure, 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) de vos fichiersphp.ini. Exécutez
composer installà partir du répertoire contenant le fichiercomposer.jsonde votre projet. Le fichiercomposer.jsondoit spécifiergoogleads/google-ads-phpen tant que dépendance.
Déterminer 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. - Sinon, vous n'utilisez pas l'implémentation C, et la bibliothèque PHP de l'API Google Ads revient automatiquement à l'implémentation PHP pure installée par Composer.