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 和網頁伺服器環境,例如 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 實作。