У меня есть этот файл PHP, который я использую для проверки поддержки RRD:
<?php
$result=rrd_fetch( "/ang.rrd", array( "AVERAGE", "--resolution", "60", "--start", "-1d", "--end", "start+1h" ) );
foreach ( $result["data"]["myfield"] as $key => $value )
{
echo "At timestamp $key, the value for myfield is $value.\n";
}
?>
Если я просматриваю файл, я получаю следующее:
PHP Fatal error: Uncaught Error: Call to undefined function rrd_fetch() in /var/www/html/graph.php:2\nStack trace:\n#0 {main}\n thrown in /var/www/html/graph.php on line 2
и если я пытаюсь запустить файл в командной строке, я получаю следующее:
PHP Notice: Undefined index: myfield in /var/www/html/graph.php on line 4
PHP Warning: Invalid argument supplied for foreach() in /var/www/html/graph.php on line 4
Я не уверен почему. Может ли кто-нибудь пролить свет на то, почему это происходит, пожалуйста?
Ответ лежит в вашем сообщении об ошибке:
Call to undefined function rrd_fetch
Проблема в том, что функции rrd не предусмотрены по умолчанию. Они должны быть добавлены путем установки пакета rrd pecl.
Попробуйте установить rrd и повторить ваш код:
https://pecl.php.net/package/rrd
rrd документация: http://www.php.net/rrd
Других решений пока нет …