Protobuf ইমপ্লিমেন্টেশন

PHP-এর জন্য দুটি Protobuf ইমপ্লিমেন্টেশন উপলভ্য:

  1. গ: Protobuf PHP C এক্সটেনশন ব্যবহার করে, যা উল্লেখযোগ্যভাবে আরও ভালো রানটাইম পারফর্ম্যান্স প্রদান করে।
  2. PHP: google/protobuf PHP প্যাকেজ ব্যবহার করে, যার জন্য কোনও অতিরিক্ত সিস্টেম এক্সটেনশনের প্রয়োজন হয় না।

সম্ভব হলে C ইমপ্লিমেন্টেশন ব্যবহার করুন, তবে নিরাপত্তা বা পরিবেশগত সীমাবদ্ধতার কারণে C এক্সটেনশন ইনস্টল করা না গেলে, পিওর PHP ইমপ্লিমেন্টেশন ব্যবহার করা যেতে পারে।

PHP ইমপ্লিমেন্টেশন কম্পোজারে googleapis/gax-php-এর ডিপেন্ডেন্সি হিসেবে অটোমেটিক ইনস্টল হয়ে যায় এবং রানটাইমে ব্যবহার করা হয় শুধুমাত্র যদি 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. আপনার php.ini ফাইলে যেকোনও extension=protobuf.so (বা extension=php_protobuf.dll) লাইন কমেন্ট হিসেবে চিহ্নিত করুন বা সরিয়ে দিন।
  2. আপনার প্রোজেক্টের composer.json ফাইলটি যে ডিরেক্টরিতে আছে, সেখান থেকে composer install রান করুন। composer.json ফাইলে googleads/google-ads-php-কে ডিপেন্ডেন্সি হিসেবে উল্লেখ করতে হবে।

কোন ইমপ্লিমেন্টেশন ব্যবহার করা হচ্ছে তা নির্ধারণ করুন

আপনার PHP CLI এনভায়রনমেন্টে C এক্সটেনশন চালু আছে কিনা তা চেক করতে, আপনার টার্মিনালে নিম্নলিখিত কমান্ড রান করুন:

php -i | grep protobuf
  • আউটপুট খালি না হলে (যেমন, protobuf support => enabled), আপনি C ইমপ্লিমেন্টেশন ব্যবহার করছেন।
  • অন্যথায়, আপনি C ইমপ্লিমেন্টেশন ব্যবহার করছেন না এবং Google Ads API PHP লাইব্রেরি অটোমেটিক Composer-এর মাধ্যমে ইনস্টল করা পিওর PHP ইমপ্লিমেন্টেশনে ফিরে যায়।