Ada dua implementasi Protobuf yang tersedia untuk PHP:
- C: Menggunakan ekstensi C PHP Protobuf, yang memberikan performa runtime yang jauh lebih baik.
- 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:
Instal ekstensi menggunakan PECL:
sudo pecl install protobufAktifkan ekstensi di file
php.iniaktif Anda (untuk lingkungan CLI dan server web seperti PHP-FPM atau Apache; jalankanphp --iniuntuk 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:
- Beri komentar atau hapus baris
extension=protobuf.so(atauextension=php_protobuf.dll) dalam filephp.iniAnda. Jalankan
composer installdari direktori yang berisi filecomposer.jsonproject Anda. Filecomposer.jsonharus menentukangoogleads/google-ads-phpsebagai 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.