#symfony
#symfony
Вопрос:
Теперь Symfony поддерживает amphp http client (docs), если установлен amphp http client, но даже если он установлен, но вы также 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-клиент? заранее спасибо!
Комментарии:
1. Что вы пробовали до сих пор? Есть ли что-нибудь неясное в документации по адресу symfony.com/doc/current/http_client.html#enabling-curl-support ?
Ответ №1:
Проверьте этот класс: SymfonyComponentHttpClientHttpClient
. Его метод create
принимает решение о том, какой класс будет создан и возвращен.
Единственный способ, которым этот метод вернет AmpHttpClient
значение intance, — это если расширение CURL не загружено.
С помощью ini_set() вы можете выбрать, какое расширение будет загружаться (я не уверен).
Полиция. Вы можете использовать библиотеку AMPHP как автономную, посетите https://amphp.org/http-client /