Details
Description
Hi there. I am reaching out to propose a modification regarding the requirements of the PHP library of Couchbase 4. Specifically, we suggest moving the gRPC extension and the protobuf extension, along with their PHP libraries, to the suggested section from the required section.
The motivation behind our proposal stems from two primary reasons:
Firstly, in our use cases, we have never required the gRPC extension or the protobuf extension, irrespective of whether we are working with Couchbase 2 or Couchbase 3. Currently, we are in the process of migrating to Couchbase 4. Even during this migration, we do not foresee needing these two extra extensions. Including them would unnecessarily complicate our migration process. While we understand their utility for the Protostellar client, not all projects necessitate its usage.
Secondly, in our experience, the gRPC extension has proven to be problematic under PHP-FPM and CLI in certain situations. As a result, we have discontinued its usage in our projects. Reintroducing it solely for the migration to Couchbase 4 seems counterintuitive.
We believe a more appropriate approach would be to relocate both extensions, along with their PHP libraries, to the suggested section of the composer.json file. An example of this approach is demonstrated in the Guzzle library, which conditionally uses the ext-curl and ext-intl extensions for making HTTP requests. It recommends their installation but does not mandate it. We suggest that the Couchbase library should adopt a similar strategy.
We appreciate your consideration of our proposal and look forward to your response.
Best regards.