توصیه میکنیم اگر میتوانید از پیادهسازی C استفاده کنید، اما ممکن است در برخی موارد (مانند زمانی که توسط محدودیتهای امنیتی یا فنی محدود میشود) به PHP نیاز باشد.
پیاده سازی PHP به طور خودکار مانند سایر وابستگی های googleapis/gax-php در Composer نصب می شود، اما در زمان اجرا فقط در صورتی استفاده می شود که پیاده سازی C نصب و پیکربندی نشده باشد.
C پیاده سازی
برای نصب و پیکربندی پسوند Protobuf PHP:
sudo pecl install protobuf از خط فرمان اجرا کنید.
یک خط extension=protobuf.so به فایل php.ini اضافه کنید.
پیاده سازی PHP
مطمئن شوید که پیادهسازی C غیرفعال است و تمام وابستگیهای کتابخانه googleapis/gax-php نصب شدهاند:
هر خط extension=protobuf.so را در php.ini کامنت کنید.
composer install از دایرکتوری که حاوی فایل composer.json پروژه در حال کار است، اجرا کنید. composer.json باید google-ads-php یا هر پروژه ای که به آن نیاز دارد را به عنوان وابستگی مشخص کند.
تعیین کنید که کدام پیاده سازی استفاده می شود
php -i | grep protobuf :
اگر خالی نیست ، از پیاده سازی C استفاده می کنید.
در غیر این صورت، شما از پیاده سازی C استفاده نمی کنید و کتابخانه PHP API Google Ads به پیاده سازی PHP متکی خواهد بود (در صورت نصب صحیح با استفاده از Composer).
تاریخ آخرین بهروزرسانی 2025-08-26 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-26 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003eThe Google Ads API for PHP offers two implementations: C (for performance) and PHP (for ease of use).\u003c/p\u003e\n"],["\u003cp\u003eThe C implementation utilizes the Protobuf PHP extension and requires manual installation via \u003ccode\u003epecl\u003c/code\u003e and \u003ccode\u003ephp.ini\u003c/code\u003e configuration.\u003c/p\u003e\n"],["\u003cp\u003eThe PHP implementation is automatically installed with \u003ccode\u003egoogleapis/gax-php\u003c/code\u003e dependencies but is used only if the C implementation is unavailable.\u003c/p\u003e\n"],["\u003cp\u003eUsers can determine the active implementation by running \u003ccode\u003ephp -i | grep protobuf\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Protobuf implementations\n\nThere are two implementations that are available for PHP:\n\n1. **C** : Uses the [Protobuf PHP extension](//pecl.php.net/package/protobuf) which gives better performance.\n2. **PHP** : Uses the [`google/protobuf` PHP\n package](//packagist.org/packages/google/protobuf) which is easier to implement.\n\nWe recommend using the C implementation if you can, but PHP may be needed in\nsome cases (such as when limited by security or technical constraints).\n\nThe PHP implementation is automatically installed like any other\n[`googleapis/gax-php`](https://github.com/googleapis/gax-php) dependencies in\nComposer, but it is used at runtime **only if** the C implementation is not\ninstalled and configured.\n\nC implementation\n----------------\n\nTo install and configure the Protobuf PHP extension:\n\n1. Run `sudo pecl install protobuf` from the command line.\n2. Add an `extension=protobuf.so` line to the `php.ini` file.\n\nPHP implementation\n------------------\n\nMake sure the C implementation is disabled and all the dependencies of\nthe [`googleapis/gax-php`](https://github.com/googleapis/gax-php) library are\ninstalled:\n\n1. Comment out any `extension=protobuf.so` line in `php.ini`.\n2. Run `composer install` from the directory that contains the\n `composer.json` file of the project being worked on. The `composer.json`\n should specify `google-ads-php` or any project that requires it as a\n dependence.\n\n | **Key Point:** Typically, the protobuf version that this PHP library relies on is transitively specified in [`composer.json`](https://github.com/googleapis/gax-php/blob/master/composer.json) of `google/gax`, which is one of the core dependencies. But for performance or compatibility reasons, we may specify the protobuf version directly in the PHP library's [`composer.json`](https://github.com/googleads/google-ads-php/blob/HEAD/composer.json).\n\nDetermine which implementation is being used\n--------------------------------------------\n\nRun `php -i | grep protobuf`:\n\n- If *not* empty, you're using the C implementation.\n- Otherwise, you're *not* using the C implementation and the Google Ads API PHP library will rely on the PHP implementation (if installed correctly using Composer)."]]