Глядя на их исходный код, я вижу это:
https://github.com/viewflex/forex/blob/master/src/Forex.php#L57-L68
if (
array_key_exists('rates', $content)
&& array_key_exists($target, $content['rates'])
&& $content['rates'][$target]
) {
$rate = floatval($content['rates'][$target]);
} else {
throw new ForexException('Error retrieving exchange rate.');
}
if($rate <= 0)
throw new ForexException('Error retrieving exchange rate.');
Таким образом, получается, что если ответ не содержит требуемой информации, он выдаст исключение,Кроме того, если он проходит первую проверку, но скорость <0, он также генерирует исключение.Так что на самом деле не похоже, что вы сделали что-то не так.</p>
Глядя дальше, я вижу, что это делает этот вызов:
$response = $this->request('https://api.fixer.io/latest?base='.$source.'&symbols='.$target);
Я перевел это, основываясь на вашем коде:
https://api.fixer.io/latest?base=USD&symbols=INR
КакойЕсли вы нажмете эту ссылку, вы получите ответ:
0 "#################################################################################################################################"
1 "# #"
2 "# IMPORTANT - PLEASE UPDATE YOUR API ENDPOINT #"
3 "# #"
4 "# This API endpoint is deprecated and has now been shut down. To keep using the Fixer API, please update your integration #"
5 "# to use the new Fixer API endpoint, designed as a simple drop-in replacement. #"
6 "# You will be required to create an account at https://fixer.io and obtain an API access key. #"
7 "# #"
8 "# For more information on how to upgrade please visit our Github Tutorial at: https://github.com/fixerAPI/fixer#readme #"
9 "# #"
a "#################################################################################################################################"
Похоже, библиотека устарела.
Либо используйте другую библиотеку, либо снова включите ее.
Чтобы обойти это, вы можете сначала создать учетную запись с новым API, подписаться на github, если вы этого еще не сделали, форкхранилище, измените эту строку https://github.com/viewflex/forex/blob/master/src/Forex.php#L53, и либо отправьте запрос на извлечение, либо измените имя пакета составителя https://github.com/viewflex/forex/blob/master/composer.json#L2 и зарегистрируйте свой новый пакет с помощью https://packagist.org/ (измените все пространства имен файлаи если вы это сделаете.)
Если вы подпишетесь на новый API и отправите новую конечную точку, я могу отправить парню запрос на извлечение с исправлением.