יש שתי הטמעות של Protobuf שזמינות ל-PHP:
- C: משתמש בתוסף Protobuf PHP C, שמספק ביצועים טובים יותר באופן משמעותי בזמן ריצה.
- PHP: משתמש בחבילת
google/protobufPHP, שלא דורשת תוספים נוספים למערכת.
מומלץ להשתמש בהטמעה של C, אבל אפשר להשתמש בהטמעה של PHP טהור אם מגבלות אבטחה או סביבה מונעות התקנה של תוספי C.
הטמעת ה-PHP מותקנת אוטומטית כתלות ב-googleapis/gax-php ב-Composer, והיא נמצאת בשימוש בזמן הריצה רק אם הטמעת ה-C לא מותקנת ומופעלת.
הטמעה של C
כדי להתקין ולהגדיר את תוסף Protobuf PHP C:
מתקינים את התוסף באמצעות PECL:
sudo pecl install protobufמפעילים את התוסף בקובץ
php.iniהפעיל (גם בסביבות CLI וגם בסביבות של שרת אינטרנט כמו PHP-FPM או Apache; מריצים את הפקודהphp --iniכדי לאתר את קובץ ההגדרות של ה-CLI):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 מופעל בסביבת ה-CLI של PHP, מריצים את הפקודה הבאה בטרמינל:
php -i | grep protobuf
- אם הפלט לא ריק (לדוגמה,
protobuf support => enabled), אתם משתמשים בהטמעה של C. - אחרת, אתם לא משתמשים בהטמעה של C, וספריית PHP של Google Ads API חוזרת אוטומטית להטמעה של PHP טהור שהותקנה על ידי Composer.