Implementasi protobuf

Ada dua implementasi Protobuf yang tersedia untuk PHP:

  1. C: Menggunakan ekstensi C PHP Protobuf, yang memberikan performa runtime yang jauh lebih baik.
  2. PHP: Menggunakan paket PHP google/protobuf, yang tidak memerlukan ekstensi sistem tambahan.

Gunakan implementasi C jika memungkinkan, meskipun implementasi PHP murni dapat digunakan jika batasan keamanan atau lingkungan mencegah penginstalan ekstensi C.

Implementasi PHP otomatis diinstal sebagai dependensi googleapis/gax-php di Composer, dan digunakan saat runtime hanya jika implementasi C tidak diinstal dan diaktifkan.

Implementasi C

Untuk menginstal dan mengonfigurasi ekstensi C PHP Protobuf:

  1. Instal ekstensi menggunakan PECL:

    sudo pecl install protobuf
    
  2. Aktifkan ekstensi di file php.ini aktif Anda (untuk lingkungan CLI dan server web seperti PHP-FPM atau Apache; jalankan php --ini untuk menemukan file konfigurasi CLI):

    extension=protobuf.so
    

Implementasi PHP

Untuk menggunakan implementasi PHP murni, pastikan implementasi C dinonaktifkan dan semua dependensi googleapis/gax-php diinstal:

  1. Jadikan sebagai komentar atau hapus baris extension=protobuf.so (atau extension=php_protobuf.dll) dalam file php.ini Anda.
  2. Jalankan composer install dari direktori yang berisi file composer.json project Anda. File composer.json harus menentukan googleads/google-ads-php sebagai dependensi.

Menentukan implementasi yang digunakan

Jalankan perintah berikut di terminal untuk memeriksa apakah ekstensi C diaktifkan di lingkungan PHP CLI Anda:

php -i | grep protobuf
  • Jika outputnya tidak kosong (misalnya, protobuf support => enabled), Anda menggunakan implementasi C.
  • Jika tidak, Anda tidak menggunakan implementasi C, dan library PHP Google Ads API akan otomatis beralih ke implementasi PHP murni yang diinstal oleh Composer.