PHP 有两种可用的 Protobuf 实现:
- C:使用 Protobuf PHP C 扩展程序,可显著提高运行时性能。
- PHP:使用
google/protobufPHP 软件包,无需任何额外的系统扩展程序。
尽可能使用 C 实现,但如果安全或环境限制阻止安装 C 扩展,也可以使用纯 PHP 实现。
PHP 实现会自动作为 Composer 中 googleapis/gax-php 的依赖项进行安装,并且仅在 C 实现未安装且未启用时在运行时使用。
C 实现
如需安装和配置 Protobuf PHP C 扩展程序,请执行以下操作:
使用 PECL 安装扩展程序:
sudo pecl install protobuf在有效的
php.ini文件中启用扩展程序(适用于 CLI 和 Web 服务器环境,例如 PHP-FPM 或 Apache;运行php --ini可找到 CLI 配置文件):extension=protobuf.so
PHP 实现
如需使用纯 PHP 实现,请确保已停用 C 实现,并已安装 googleapis/gax-php 的所有依赖项:
- 注释掉或移除
php.ini文件中的所有extension=protobuf.so(或extension=php_protobuf.dll)行。 从包含项目
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 实现。