Для PHP доступны две реализации Protobuf:
- C. Используется расширение Protobuf PHP C, которое обеспечивает значительно более высокую производительность во время выполнения.
- PHP Используется пакет PHP
google/protobuf, для которого не требуются дополнительные системные расширения.
По возможности используйте реализацию на C, однако если ограничения безопасности или среды не позволяют установить расширения C, можно использовать реализацию на чистом PHP.
Реализация PHP автоматически устанавливается как зависимость googleapis/gax-php в Composer и используется во время выполнения, только если реализация C не установлена и не включена.
Реализация на C
Чтобы установить и настроить расширение Protobuf PHP C, выполните следующие действия:
Установите расширение с помощью PECL:
sudo pecl install protobufВключите расширение в активном файле
php.ini(как для CLI, так и для веб-серверов, например PHP-FPM или Apache; чтобы найти файл конфигурации CLI, выполните командуphp --ini):extension=protobuf.so
Реализация на PHP
Чтобы использовать реализацию на чистом PHP, убедитесь, что реализация на C отключена и установлены все зависимости googleapis/gax-php:
- Закомментируйте или удалите все строки
extension=protobuf.so(илиextension=php_protobuf.dll) в файлахphp.ini. Запустите
composer installиз каталога, содержащего файлcomposer.jsonвашего проекта. В файлеcomposer.jsonнеобходимо указатьgoogleads/google-ads-phpв качестве зависимости.
Как определить, какая реализация используется
Чтобы проверить, включено ли расширение C в среде PHP CLI, выполните в терминале следующую команду:
php -i | grep protobuf
- Если выходные данные не пустые (например,
protobuf support => enabled), вы используете реализацию на C. - В противном случае вы не используете реализацию C, и библиотека PHP Google Ads API автоматически возвращается к чистой реализации PHP, установленной Composer.