پیاده‌سازی‌های Protobuf

دو پیاده‌سازی Protobuf برای PHP دردسترس است:

  1. C: از افزونه Protobuf PHP C استفاده می‌کند که عملکرد زمان اجرای بسیار بهتری ارائه می‌دهد.
  2. PHP: از بسته PHP‏ google/protobuf استفاده می‌کند که به افزونه‌های سیستم اضافی نیاز ندارد.

درصورت امکان از پیاده‌سازی C استفاده کنید، هرچند در شرایطی که محدودیت‌های امنیتی یا محیطی مانع از نصب افزونه‌های C می‌شود، می‌توان از پیاده‌سازی PHP خالص استفاده کرد.

پیاده‌سازی PHP به‌طور خودکار به‌عنوان وابستگی googleapis/gax-php در Composer نصب می‌شود و در زمان اجرا فقط درصورتی استفاده می‌شود که پیاده‌سازی C نصب و فعال نشده باشد.

پیاده‌سازی C

برای نصب و پیکربندی افزونه Protobuf PHP C:

  1. افزونه را بااستفاده از PECL نصب کنید:

    sudo pecl install protobuf
    
  2. افزونه را در فایل php.ini فعال خود فعال کنید (هم برای محیط‌های CLI و هم برای محیط‌های سرور وب مانند PHP-FPM یا Apache؛ برای پیدا کردن فایل پیکربندی CLI، دستور php --ini را اجرا کنید):

    extension=protobuf.so
    

پیاده‌سازی PHP

برای استفاده از پیاده‌سازی PHP خالص، مطمئن شوید که پیاده‌سازی C غیرفعال است و همه وابستگی‌های googleapis/gax-php نصب شده‌اند:

  1. هر خط extension=protobuf.so (یا extension=php_protobuf.dll) را در فایل‌های php.ini خود حذف کنید یا به‌صورت نظر درآورید.
  2. composer install را از دایرکتوری‌ای که حاوی فایل composer.json پروژه شما است اجرا کنید. فایل composer.json باید googleads/google-ads-php را به‌عنوان وابستگی مشخص کند.

مشخص کردن اینکه از کدام پیاده‌سازی استفاده می‌شود

فرمان زیر را در پایانه خود اجرا کنید تا بررسی کنید که آیا افزونه C در محیط PHP CLI شما فعال است یا نه:

php -i | grep protobuf
  • اگر خروجی خالی نباشد (برای مثال، protobuf support => enabled)، از پیاده‌سازی C استفاده می‌کنید.
  • درغیراین‌صورت، از پیاده‌سازی C استفاده نمی‌کنید و کتابخانه Google Ads API PHP به‌طور خودکار به پیاده‌سازی PHP خالص نصب‌شده توسط Composer برمی‌گردد.