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