دو پیادهسازی 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؛ برای یافتن فایل پیکربندی CLI،php --iniرا اجرا کنید):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 در محیط PHP CLI شما فعال است یا خیر:
php -i | grep protobuf
- اگر خروجی خالی نباشد (برای مثال،
protobuf support => enabled)، شما از پیادهسازی C استفاده میکنید. - در غیر این صورت، شما از پیادهسازی C استفاده نمیکنید و کتابخانه PHP API گوگل ادز به طور خودکار به پیادهسازی خالص PHP نصب شده توسط کامپوزر برمیگردد.