现在Symfony支持amphp http client (docs),如果安装了amphp http client,但即使它已经安装,但你也安装了libcurl,它使用curl客户端,但我需要一个。
我尝试覆盖services.yml中的配置,如下所示:
Symfony\Component\HttpClient\AmpHttpClient:
class: Symfony\Component\HttpClient\AmpHttpClient
arguments:
- []
- !abstract 'max host connections'
calls:
- setLogger: [ '@logger' ]
tags:
- { name : 'monolog.logger', channel : 'http_client'}
- { name : 'http_client.client' }
Symfony\Contracts\HttpClient\HttpClientInterface: '@Symfony\Component\HttpClient\AmpHttpClient'但它不起作用,当我注入HttpClientInterface Symfony时仍然将其解析为CurlHttpClient
关于如何强制Symfony使用安普客户端有什么建议吗?提前感谢!
发布于 2021-04-29 17:10:25
检查这个类:Symfony\Component\HttpClient\HttpClient。它的方法create决定实例化和返回哪个类。
此方法返回AmpHttpClient实例的唯一方式是未加载CURL扩展。
使用ini_set(),您可以选择加载哪个扩展(我不确定)。
警局。你可以使用AMPHP库,作为独立的,请访问https://amphp.org/http-client/
https://stackoverflow.com/questions/65162637
复制相似问题