"PHP Notice: Only variables should be passed by reference in /var/www/mysite/data/www/mysite.io/core/Classes/Lang.php on line 90"
$lang = array_shift(explode(',', $raw))
исправьте на
$array=explode(',', $raw);
$lang = array_shift($array);
Дело в том, что array_shift не только возвращает элемент массива, но и изменяет оригинальный массив, поэтому данные в эту функцию нужно передавать по ссылке, а если вы не объявляли переменную, то будет передано значение, а не ссылка.
PHP Notice: Undefined offset: 1 in /var/www/mysite/data/www/mysite.io/core/Classes/Router.php on line 29, referer: mysite.io/en/
list($lang, $requestUrl) = explode('/', $root, 2);
Проверяете массив $root, вероятно после explode он имеет только один элемент, а необходио 2.
Пройдите это место дебаггером, и все сразу станет понятно.