הטמעות של Protobuf

יש שתי הטמעות של Protobuf שזמינות ל-PHP:

  1. ‫C: משתמש בתוסף Protobuf PHP C, שמספק ביצועים טובים יותר באופן משמעותי בזמן ריצה.
  2. ‫PHP: משתמש בחבילת google/protobuf PHP, שלא דורשת תוספים נוספים למערכת.

מומלץ להשתמש בהטמעה של C, אבל אפשר להשתמש בהטמעה של PHP טהור אם מגבלות אבטחה או סביבה מונעות התקנה של תוספי C.

הטמעת ה-PHP מותקנת אוטומטית כתלות ב-googleapis/gax-php ב-Composer, והיא נמצאת בשימוש בזמן הריצה רק אם הטמעת ה-C לא מותקנת ומופעלת.

הטמעה של C

כדי להתקין ולהגדיר את תוסף Protobuf PHP C:

  1. מתקינים את התוסף באמצעות PECL:

    sudo pecl install protobuf
    
  2. מפעילים את התוסף בקובץ php.ini הפעיל (גם בסביבות CLI וגם בסביבות של שרת אינטרנט כמו PHP-FPM או Apache; מריצים את הפקודה php --ini כדי לאתר את קובץ ההגדרות של ה-CLI):

    extension=protobuf.so
    

הטמעה של PHP

כדי להשתמש בהטמעה של PHP בלבד, צריך לוודא שההטמעה של C מושבתת ושהותקנו כל יחסי התלות של googleapis/gax-php:

  1. מוסיפים הערה או מסירים כל שורה של extension=protobuf.so (או extension=php_protobuf.dll) בקובצי php.ini.
  2. מריצים את הפקודה 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.