Protobuf 实现

PHP 有两种可用的 Protobuf 实现:

  1. C:使用 Protobuf PHP C 扩展程序,可显著提高运行时性能。
  2. PHP:使用 google/protobuf PHP 软件包,无需任何额外的系统扩展程序。

尽可能使用 C 实现,但如果安全或环境限制阻止安装 C 扩展,也可以使用纯 PHP 实现。

PHP 实现会自动作为 Composer 中 googleapis/gax-php 的依赖项进行安装,并且仅在 C 实现未安装且未启用时在运行时使用。

C 实现

如需安装和配置 Protobuf PHP C 扩展程序,请执行以下操作:

  1. 使用 PECL 安装扩展程序:

    sudo pecl install protobuf
    
  2. 在有效的 php.ini 文件中启用扩展程序(适用于 CLI 和 Web 服务器环境,例如 PHP-FPM 或 Apache;运行 php --ini 可找到 CLI 配置文件):

    extension=protobuf.so
    

PHP 实现

如需使用纯 PHP 实现,请确保已停用 C 实现,并已安装 googleapis/gax-php 的所有依赖项:

  1. 注释掉或移除 php.ini 文件中的所有 extension=protobuf.so(或 extension=php_protobuf.dll)行。
  2. 从包含项目 composer.json 文件的目录中运行 composer install。composer.json 文件应将 googleads/google-ads-php 指定为依赖项。

确定正在使用的实现

在终端中运行以下命令,以检查 PHP CLI 环境中是否已启用 C 扩展程序:

php -i | grep protobuf
  • 如果输出不为空(例如 protobuf support => enabled),则表示您使用的是 C 实现。
  • 否则,您未使用 C 实现,Google Ads API PHP 库会自动回退到由 Composer 安装的纯 PHP 实现。