הטמעות של Protobuf

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

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

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

ההטמעה של 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.