Слишком много кода, чтобы я мог подтвердить, что это работает, но константа PIWIK_USER_PATH
, похоже, используется в качестве основного корня для файла io. Имея это в виду, редактируем index.php , вокруг строки 23 , которая изначально:
if(!defined('PIWIK_USER_PATH'))
{
define('PIWIK_USER_PATH', PIWIK_DOCUMENT_ROOT);
}
На что-то вроде:
if(!defined('PIWIK_USER_PATH'))
{
define('PIWIK_USER_PATH', $_SERVER['TMPDIR']);
}
Может сработать, но что происходит, когда он пытается прочитать файл в его первоначальном месте? Так как это временный каталог, он может быть нежизнеспособным, и в этом случае подход, использующий override_function или аналогичный метод, в сочетании с постоянным хранилищем (вашей базой данных), может также работать - переопределяя файловые функции с помощью процедуры загрузки / сохранения базы данных; очевидно, это открывает еще одну банку червей библейских масштабов, поэтому моя последняя рекомендация - получить еще один менее ограничительный хост.