PHP के लिए, Protobuf लागू करने के दो तरीके उपलब्ध हैं:
- C: यह Protobuf PHP C एक्सटेंशन का इस्तेमाल करता है. इससे रनटाइम पर बेहतर परफ़ॉर्मेंस मिलती है.
- PHP: यह
google/protobufPHP पैकेज का इस्तेमाल करता है. इसके लिए, किसी अन्य सिस्टम एक्सटेंशन की ज़रूरत नहीं होती.
जब भी हो सके, C को लागू करें. हालांकि, सुरक्षा या एनवायरमेंट की पाबंदियों की वजह से C एक्सटेंशन इंस्टॉल न कर पाने पर, प्योर PHP को लागू किया जा सकता है.
PHP को लागू करने की सुविधा, Composer में 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 installको उस डायरेक्ट्री से चलाएं जिसमें आपके प्रोजेक्ट कीcomposer.jsonफ़ाइल मौजूद है.composer.jsonफ़ाइल में,googleads/google-ads-phpको डिपेंडेंसी के तौर पर तय किया जाना चाहिए.
यह पता लगाना कि कौनसा तरीका इस्तेमाल किया जा रहा है
अपने टर्मिनल में यह कमांड चलाएं. इससे यह पता चलेगा कि आपके PHP CLI एनवायरमेंट में C एक्सटेंशन चालू है या नहीं:
php -i | grep protobuf
- अगर आउटपुट खाली नहीं है (उदाहरण के लिए,
protobuf support => enabled), तो इसका मतलब है कि C को लागू किया जा रहा है. - ऐसा न करने पर, C को लागू नहीं किया जाता है. साथ ही, Google Ads API PHP लाइब्रेरी, Composer की ओर से इंस्टॉल किए गए प्योर PHP को अपने-आप लागू कर देती है.