Такой exception с фатальной ошибкой возникает, когда у kohana недостаточно прав для записи в директории application/logs и application/cache. Исправить ошибку просто, выставив права на каталоги:
chmod 777 application/logs/
chmod 777 application/cache/
Если директорий нет - создайте их и также дайте права на запись.
Странно, что разработчики не сделали для этого случая более понятный exception, проверив, какие выставлены права на директории.
UPD: при обновлении на php 7.4 столкнулся с тем что может возникать ошибка Call to undefined function __() в некоторых ситуациях в файле system/views/kohana/error.php. Нужно разбираться и читать логи application/logs/. Если с правами на запись в директории все хорошо, то 99% что ошибка порождена другой ошибкой, которую можно увидеть в логах.
1) прочитайте внимательно последние логи из на предмет ошибок: application/logs/
2) как временный хак для проверки, можно функцию __
:
if ( ! function_exists('__'))
{
function __($string, array $values = NULL, $lang = 'en-us')
{
if ($lang !== I18n::$lang)
{
// The message and target languages are different
// Get the translation for this message
$string = I18n::get($string);
}
return empty($values) ? $string : strtr($string, $values);
}
}
продублировать и разместить прямо в index.php перед подключением bootstrap.php
3) Можно поиграться с настройками репортинга ошибок:
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
//ini_set('display_errors',1);
//error_reporting(E_ALL | E_STRICT);
Стоит менять error_reporting в файле bootstrap.php
после вызова Kohana::init
.
То что посоветовал выше -- нужно лишь для дебага. Ядро kohana писалось достаточно давно и подводных камней при обновлении ядра и модулей будет не мало.
Также, можно прочитать про миграцию kohana на php 7+ c более старой версии php.