Pour discuter de nos produits et nous faire part de vos commentaires, rejoignez le canal Discord officiel Google Ads sur le serveur de la communauté Google Advertising and Measurement.
Nous vous recommandons d'utiliser l'implémentation C si vous le pouvez, mais PHP peut être nécessaire dans certains cas (par exemple, en cas de contraintes techniques ou de sécurité).
L'implémentation PHP est installée automatiquement comme toute autre dépendance googleapis/gax-php dans Composer, mais elle n'est utilisée lors de l'exécution que si l'implémentation C n'est pas installée ni configurée.
Implémentation C
Pour installer et configurer l'extension PHP Protobuf :
Exécutez sudo pecl install protobuf à partir de la ligne de commande.
Ajoutez une ligne extension=protobuf.so au fichier php.ini.
Implémentation PHP
Assurez-vous que l'implémentation C est désactivée et que toutes les dépendances de la bibliothèque googleapis/gax-php sont installées :
Mettez en commentaire toutes les lignes extension=protobuf.so dans php.ini.
Exécutez composer install à partir du répertoire contenant le fichier composer.json du projet sur lequel vous travaillez. composer.json doit spécifier google-ads-php ou tout projet qui en a besoin comme dépendance.
Déterminer l'implémentation utilisée
Exécutez php -i | grep protobuf :
Si la valeur not est vide, vous utilisez l'implémentation C.
Dans le cas contraire, vous n'utilisez pas l'implémentation C et la bibliothèque PHP de l'API Google Ads s'appuiera sur l'implémentation PHP (si elle est correctement installée à l'aide de Composer).
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/27 (UTC).
[null,null,["Dernière mise à jour le 2025/08/27 (UTC)."],[[["\u003cp\u003eThe Google Ads API for PHP offers two implementations: C (for performance) and PHP (for ease of use).\u003c/p\u003e\n"],["\u003cp\u003eThe C implementation utilizes the Protobuf PHP extension and requires manual installation via \u003ccode\u003epecl\u003c/code\u003e and \u003ccode\u003ephp.ini\u003c/code\u003e configuration.\u003c/p\u003e\n"],["\u003cp\u003eThe PHP implementation is automatically installed with \u003ccode\u003egoogleapis/gax-php\u003c/code\u003e dependencies but is used only if the C implementation is unavailable.\u003c/p\u003e\n"],["\u003cp\u003eUsers can determine the active implementation by running \u003ccode\u003ephp -i | grep protobuf\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Protobuf implementations\n\nThere are two implementations that are available for PHP:\n\n1. **C** : Uses the [Protobuf PHP extension](//pecl.php.net/package/protobuf) which gives better performance.\n2. **PHP** : Uses the [`google/protobuf` PHP\n package](//packagist.org/packages/google/protobuf) which is easier to implement.\n\nWe recommend using the C implementation if you can, but PHP may be needed in\nsome cases (such as when limited by security or technical constraints).\n\nThe PHP implementation is automatically installed like any other\n[`googleapis/gax-php`](https://github.com/googleapis/gax-php) dependencies in\nComposer, but it is used at runtime **only if** the C implementation is not\ninstalled and configured.\n\nC implementation\n----------------\n\nTo install and configure the Protobuf PHP extension:\n\n1. Run `sudo pecl install protobuf` from the command line.\n2. Add an `extension=protobuf.so` line to the `php.ini` file.\n\nPHP implementation\n------------------\n\nMake sure the C implementation is disabled and all the dependencies of\nthe [`googleapis/gax-php`](https://github.com/googleapis/gax-php) library are\ninstalled:\n\n1. Comment out any `extension=protobuf.so` line in `php.ini`.\n2. Run `composer install` from the directory that contains the\n `composer.json` file of the project being worked on. The `composer.json`\n should specify `google-ads-php` or any project that requires it as a\n dependence.\n\n | **Key Point:** Typically, the protobuf version that this PHP library relies on is transitively specified in [`composer.json`](https://github.com/googleapis/gax-php/blob/master/composer.json) of `google/gax`, which is one of the core dependencies. But for performance or compatibility reasons, we may specify the protobuf version directly in the PHP library's [`composer.json`](https://github.com/googleads/google-ads-php/blob/HEAD/composer.json).\n\nDetermine which implementation is being used\n--------------------------------------------\n\nRun `php -i | grep protobuf`:\n\n- If *not* empty, you're using the C implementation.\n- Otherwise, you're *not* using the C implementation and the Google Ads API PHP library will rely on the PHP implementation (if installed correctly using Composer)."]]