vmError: Failed to retrieve the Currency Converter XML document

При использовании конвертера валют в Джумле не происходит обновления курса (в моём случае использовался файл convertCBRF.php для парсинга котировок с сайта ЦБ РФ), при этом в панели администратора, в разделе Товары, отображается ошибка vmError: Failed to retrieve the Currency Converter XML document.
Для начала требуется проверить, не заблокировал ли сайт ЦБ IP-адрес сервера. Для этого можно попробовать получить данные котировок программой wget (URL, по которому обращается сценарий, указан в самом файле):

cd
wget http://www.cbr.ru/scripts/XML_daily.asp?date_req=12/11/2014

Если сайт ЦБ отдаёт данные (файл скачался и содержит котировки), то можно попробовать вывести значение переменной с необработанными данными. Для этого создаём в директории сайта тестовый php файл, с содержимым:

<?php
header('Content-type: text/xml; charset=windows-1251');
$contents = file_get_contents( 'http://www.cbr.ru/scripts/XML_daily.asp?date_req=12/11/2014' );   
print_r($contents); 
?>

Если при запросе этого файла обозреватель верно отобразит котировки (как на сайте ЦБ), то проблема в коде файла конвертера. Если отобразится ошибка Warning: file_get_contents(): http:// wrapper is disabled in the server configuration by allow_url_fopen=0, то значит на сервере отключён HTTP враппер. Включить его можно, изменив значение в php.ini на allow_url_fopen=0, либо добавив строку php_admin_value[allow_url_fopen] = 1 в конфигурационный файл конкретного сайта, при использовании пула конфигураций PHP-FPM, либо добавить строку php_admin_flag allow_url_fopen On в файл httpd.conf, при использовании PHP в качестве модуля.

Добавить комментарий