symfony 5.2如何在安装了libcurl的情况下强制使用amphp客户端



现在Symfony支持amphp-http客户端(docs(,如果安装了amphp-hhttp客户端,但即使安装了它,但您也安装了libcurl,它使用curl客户端,但我需要amphp-一个。

我试图覆盖services.yml中的配置,如下所示:

SymfonyComponentHttpClientAmpHttpClient:
class: SymfonyComponentHttpClientAmpHttpClient
arguments:
- []
- !abstract 'max host connections'
calls:
- setLogger: [ '@logger' ]
tags:
- { name : 'monolog.logger', channel : 'http_client'}
- { name : 'http_client.client' }
SymfonyContractsHttpClientHttpClientInterface: '@SymfonyComponentHttpClientAmpHttpClient'

但它不起作用,当我注入HttpClientInterface时,Symfony仍将其解析为CurlHttpClient

关于如何强迫Symfony使用amphp客户端,有什么想法吗?提前感谢!

检查此类:SymfonyComponentHttpClientHttpClient。它的方法create决定实例化和返回哪个类。

此方法返回AmpHttpClient实体的唯一方法是不加载CURL扩展。

使用ini_set((,您可以选择加载哪个扩展(我不确定(。

PD。您可以单独使用AMPHP库,请访问https://amphp.org/http-client/

相关内容

最新更新