Я недавно видел это сообщение в NAS Synology, и это то, что я нашел. У моего NAS есть несколько установок Php, и я думаю, что эта ошибка исходит от установки по умолчанию.
[email protected]:~# /bin/php --ri dba
Extension 'dba' not present.
но используя мой альтернативный PHP
[email protected]:~# /usr/local/bin/php56 --ri dba
dba
DBA support => enabled
Supported handlers => gdbm cdb cdb_make db4 inifile flatfile
Directive => Local Value => Master Value
dba.default_handler => flatfile => flatfile
Так одно решение, чтобы убедиться, что ваше приложение вызова правильную версию Php. Для этого вы можете управлять HTTP-сервером и версией PHP с веб-узла Synology .
Альтернативно, я заметил, что это сообщение только E_WARNING
и может быть проигнорировано (если вам не нужна база данных Беркли). Я добавил этот код в моем приложении
function shutdownHandler()
{
try {
$error = error_get_last();
if ($error !== NULL && $error["type"] == E_ERROR) {
$backtrace = "(E_ERROR) " . $error["message"];
$trace = debug_backtrace();
foreach($trace as $item) {
$backtrace .= "\n\t" . (isset($item['file']) ? $item['file'] : '<unknown file>')
. ' ' . (isset($item['line']) ? $item['line'] : '<unknown line>')
. ' calling ' . (isset($item['function']) ? $item['function'] : '<unknown function>') . '()';
}
\Logger::LogError($backtrace, $error["file"], $error["line"]);
}
}
catch (Exception $e) {
print get_class($e)." thrown within the shutdown handler. Message: ".$e->getMessage()." on line ".$e->getLine();
}
}
# Registering shutdown function
register_shutdown_function('shutdownHandler');
Я угадывание OwnCloud имеет аналогичную функцию, но это, вероятно, фиксируя все сообщения об ошибках, поэтому вы видите это сообщение.
Благодарим за этот намек! Я переключил свои версии PHP на веб-сайт, но сообщение не исчезло. Наконец, я увидел, что ни один из них не назначил обработчик dba (т. Е .: DBA_DEFAULT). Но на веб-странице в разделе «Настройки PHP» -> Выберите версию PHP, которую вы используете, -> «Дополнительные настройки» («Я использую немецкую версию») -> «Дополнительно». Я нашел «dba.handler_default "и вставил" flatfile "вместо" DBA_DEFAULT ". Ошибка не произошла с 24h ... Я не хочу редактировать свой пост и добавлять это как решение, потому что я не знаю, насколько это точно .: - / – deusexmac