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 penerapan C jika memungkinkan, meskipun penerapan 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 Protobuf PHP:

  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 penerapan PHP murni, pastikan penerapan C dinonaktifkan dan semua dependensi googleapis/gax-php diinstal:

  1. Beri 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 penerapan mana yang sedang digunakan

Jalankan perintah berikut di terminal Anda 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 penerapan C, dan library PHP Google Ads API otomatis melakukan penggantian ke penerapan PHP murni yang diinstal oleh Composer.