现在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/