Para analizar nuestros productos y brindar comentarios sobre ellos, únete al canal oficial de Discord de Google Ads en el servidor de la Comunidad de Publicidad y Medición de Google.
Si puedes, te recomendamos que uses la implementación en C, pero es posible que necesites PHP en algunos casos (por ejemplo, cuando haya limitaciones de seguridad o técnicas).
La implementación de PHP se instala automáticamente como cualquier otra dependencia de googleapis/gax-php en Composer, pero se usa en el tiempo de ejecución solo si no se instaló ni configuró la implementación de C.
Implementación en C
Para instalar y configurar la extensión de PHP de Protobuf, sigue estos pasos:
Ejecuta sudo pecl install protobuf desde la línea de comandos.
Agrega una línea extension=protobuf.so al archivo php.ini.
Implementación en PHP
Asegúrate de que la implementación en C esté inhabilitada y de que se hayan instalado todas las dependencias de la biblioteca googleapis/gax-php:
Marca como comentario cualquier línea extension=protobuf.so en php.ini.
Ejecuta composer install desde el directorio que contiene el archivo composer.json del proyecto en el que se está trabajando. El composer.json debe especificar google-ads-php o cualquier proyecto que lo requiera como dependencia.
Cómo determinar qué implementación se está usando
Ejecuta php -i | grep protobuf:
Si no está vacío, significa que estás usando la implementación en C.
De lo contrario, no usarás la implementación en C, y la biblioteca de PHP de la API de Google Ads se basará en la implementación de PHP (si se instaló correctamente con Composer).
[null,null,["Última actualización: 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)."]]