دو پیادهسازی Protobuf برای PHP دردسترس است:
- C: از افزونه Protobuf PHP C استفاده میکند که عملکرد زمان اجرای بسیار بهتری ارائه میدهد.
- PHP: از بسته PHP
google/protobufاستفاده میکند که به افزونههای سیستم اضافی نیاز ندارد.
درصورت امکان از پیادهسازی C استفاده کنید، هرچند در شرایطی که محدودیتهای امنیتی یا محیطی مانع از نصب افزونههای C میشود، میتوان از پیادهسازی PHP خالص استفاده کرد.
پیادهسازی PHP بهطور خودکار بهعنوان وابستگی
googleapis/gax-php در Composer نصب میشود و در زمان اجرا فقط درصورتی استفاده میشود که
پیادهسازی C نصب و فعال نشده باشد.
پیادهسازی C
برای نصب و پیکربندی افزونه Protobuf PHP C:
افزونه را بااستفاده از PECL نصب کنید:
sudo pecl install protobufافزونه را در فایل
php.iniفعال خود فعال کنید (هم برای محیطهای CLI و هم برای محیطهای سرور وب مانند PHP-FPM یا Apache؛ برای پیدا کردن فایل پیکربندی CLI، دستورphp --iniرا اجرا کنید):extension=protobuf.so
پیادهسازی PHP
برای استفاده از پیادهسازی PHP خالص، مطمئن شوید که پیادهسازی C غیرفعال است
و همه وابستگیهای googleapis/gax-php نصب شدهاند:
- هر خط
extension=protobuf.so(یاextension=php_protobuf.dll) را در فایلهایphp.iniخود حذف کنید یا بهصورت نظر درآورید. 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 برمیگردد.