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