Hay dos implementaciones de Protobuf disponibles para PHP:
- C: Usa la extensión de Protobuf PHP C, que proporciona un rendimiento de ejecución significativamente mejor.
- PHP: Usa el paquete de PHP
google/protobuf, que no requiere extensiones de sistema adicionales.
Usa la implementación de C cuando sea posible, aunque la implementación de PHP puro se puede usar cuando las restricciones de seguridad o del entorno impiden instalar extensiones de C.
La implementación de PHP se instala automáticamente como una dependencia de
googleapis/gax-php en Composer y se usa en el entorno de ejecución solo si
la implementación de C no está instalada ni habilitada.
Implementación en C
Para instalar y configurar la extensión de C de Protobuf para PHP, sigue estos pasos:
Instala la extensión con PECL:
sudo pecl install protobufHabilita la extensión en tu archivo
php.iniactivo (para entornos de CLI y de servidor web, como PHP-FPM o Apache; ejecutaphp --inipara ubicar el archivo de configuración de la CLI):extension=protobuf.so
Implementación en PHP
Para usar la implementación de PHP pura, asegúrate de que la implementación de C esté inhabilitada
y de que todas las dependencias de googleapis/gax-php estén instaladas:
- Marca como comentario o quita cualquier línea
extension=protobuf.so(oextension=php_protobuf.dll) en tus archivosphp.ini. Ejecuta
composer installdesde el directorio que contiene el archivocomposer.jsonde tu proyecto. El archivocomposer.jsondebe especificargoogleads/google-ads-phpcomo una dependencia.
Determina qué implementación se está usando
Ejecuta el siguiente comando en tu terminal para verificar si la extensión de C está habilitada en tu entorno de la CLI de PHP:
php -i | grep protobuf
- Si el resultado no está vacío (por ejemplo,
protobuf support => enabled), estás usando la implementación de C. - De lo contrario, no estás usando la implementación de C, y la biblioteca de PHP de la API de Google Ads recurre automáticamente a la implementación de PHP pura instalada por Composer.