Ошибка записи файла на диск moodle


Ошибка запись файла на диск

  • ◄ плагин Moodle книга
  • Модули оплаты ►

Уважаемые подскажите в чем может быть проблема. При увеличении пользователей и нагрузкой на сервер, вдруг появилась у многих пользователей ошибка записи файл на диск. Причем любых файлов, от студенческих работ до загрузки импортируемых вопросов, От размера не зависит, даже маленькие файлы не дает загружать. Думал сначала, что места мало осталось на сервере около 7 ГБ, поудалял лишнее стало 14 Гб, но проблема осталась. Посоветуйте пожалуйста, что можно сделать?

Может диск при такой нагрузке просто не справляется с записью файлов? Или веб-сервер превысил кол-во допустимых запросов. Тут без знания конфы железа, настроек ПО и изучения логов не разобраться.

палцем в небо попробую. может быть rlimit_files увеличить, если php-fpm

Да, извините. Поторопился забыл указать конфигурацию. Версия 3.6.8+ Ubuntu server PHP 7.0.33 mysql 5.6
Сам не могу ошибку воспроизвести, пользователи только скрины присылали. Но вроде работает, не знаю с чем связано. Завтра начнется учеба, вот посмотрим. Ну, а рекомендации может какие дадите?

Загружаемый файл обычно сначала пишется во временный каталог (для apache+mod_php и для nginx+php-fpm они IMHO разные)
Есть ли место на том диске, где временный файл?
для apache+mod_php можно явно указать место для временных файлов через «upload_temp_dir»

  • ◄ плагин Moodle книга
  • Модули оплаты ►

Ошибка запись файла на диск

  • ◄ плагин Moodle книга
  • Модули оплаты ►

Уважаемые подскажите в чем может быть проблема. При увеличении пользователей и нагрузкой на сервер, вдруг появилась у многих пользователей ошибка записи файл на диск. Причем любых файлов, от студенческих работ до загрузки импортируемых вопросов, От размера не зависит, даже маленькие файлы не дает загружать. Думал сначала, что места мало осталось на сервере около 7 ГБ, поудалял лишнее стало 14 Гб, но проблема осталась. Посоветуйте пожалуйста, что можно сделать?

Может диск при такой нагрузке просто не справляется с записью файлов? Или веб-сервер превысил кол-во допустимых запросов. Тут без знания конфы железа, настроек ПО и изучения логов не разобраться.

палцем в небо попробую. может быть rlimit_files увеличить, если php-fpm

Да, извините. Поторопился забыл указать конфигурацию. Версия 3.6.8+ Ubuntu server PHP 7.0.33 mysql 5.6
Сам не могу ошибку воспроизвести, пользователи только скрины присылали. Но вроде работает, не знаю с чем связано. Завтра начнется учеба, вот посмотрим. Ну, а рекомендации может какие дадите?

Загружаемый файл обычно сначала пишется во временный каталог (для apache+mod_php и для nginx+php-fpm они IMHO разные)
Есть ли место на том диске, где временный файл?
для apache+mod_php можно явно указать место для временных файлов через «upload_temp_dir»

  • ◄ плагин Moodle книга
  • Модули оплаты ►

Ошибка записи файла на диск


0

InstantCMS 2.X

При загрузке фото в свой профиль

Всем привет! Подскажите плиз. На 2.8.2 Возникла вчера проблема. При загрузке фото в профиль обычными участниками.
Выскакивает окошко с надписью «Ошибка записи файла на диск». И загрузить не даёт никому. Именно в профиль фото. В альбомы работает.
А я как админ это могу сделать без проблем. Не смог найти проблему.
Из последнего что вчера установил. Компонент поле видео платный. Встал без проблем. Но я кстати его в списках компонентов установленных не нашел…
www.zau4man.ru/moi-tipy-polei/tip-polja-video-dlja-instant-2.html
Подскажите где что поискать? С уважением.

Права доступа на папку проверьте
должно быть 777
и еще владельца

Права доступа на папку проверьте
должно быть 777
и еще владельца

если в альбом грузятся и если в профиль грузятся от админа то права на директории не при чем походу…
где то еще причина…

Права доступа на папку проверьте
должно быть 777
и еще владельца

Вы были правы…
права правильные стояли… а владелец нет))

Всем спасибо. Проблема решена :)

есть такая проблема загружается но не отображается, бывает в списке бывает в записи, а бывает вообще нигде. Когда второй или третий раз загружаешь, отображается везде.

решение

еще раз изменить права на папку, менял программой WinSCP

Уважаемые напишите на какую папку права ставили…

Уважаемые напишите на какую папку права ставили..

В вашей теме ответил на счет прав. Здесь

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.

Я пытаюсь создать кастом plugin задать вопрос студенту в Мудл. Для этого у меня есть две таблицы. mdl_qadt and mdl_qads. Я сделал часть учителя, то есть учитель может добавить вопрос. Это сохраняется в таблицу mdl_qadt, Теперь ученик логин и выберите это упражнение отобразить форму. Здесь студенты могут опубликовать свой ответ. При публикации ответа, который выдает ошибку:

Ошибка записи в базу данных.

Но ответ и соответствующие данные вставляются в таблицу mdl_qads, Тогда почему ошибка показывает ??

Изображение страницы с ошибкой

введите описание изображения здесь

Изображение формы для студента

введите описание изображения здесь

view.php

echo $OUTPUT->heading($qadt->name);

if ($qadt->intro) { // Conditions to show the intro can change to look for own settings or whatever
echo $OUTPUT->box(format_module_intro('qadt', $qadt, $cm->id), 'generalbox mod_introbox', 'qadtintro');
}
echo "<b>". $qadt->question ."</b>";

require_once(dirname(__FILE__).'/stud_form.php');

$stud_form = new student_form("stud_action.php?id={$cm->id}&ref={$qadt->id}");

$stud_form->display();

echo $OUTPUT->footer();

stud_form.php

require_once($CFG->dirroot.'/lib/formslib.php');

class student_form extends moodleform {

function definition () {
$mform =& $this->_form;
//$mform->addElement('header', 'general', 'general');
$mform->addElement('text', 'answer', 'Your answer');
$mform->setType('answer', PARAM_TEXT);
$mform->addRule('answer', null, 'required', null, 'client');
$this->add_action_buttons(false, 'submit');
}

}

stud_action.php

require_once(dirname(dirname(dirname(__FILE__))).'/config.php');
require_once(dirname(__FILE__).'/lib.php');
require_once($CFG->dirroot.'/lib/formslib.php');

$answer = $_REQUEST['answer'];  //answer given by student or user
if(isset($_GET['ref']))
{
$refid = $_GET['ref'];  // refid
}
if(isset($_GET['id']))
{
$modid = $_GET['id'];  // module id
}
$currentTime = date('Y-m-d H:i:s');
$record = new stdClass();
$record->sid     = $USER->id;   // logged in user's id
$record->refid   = $refid;
$record->answer  = $answer;
$record->modified_date  = $currentTime;

$table = "qads";
$data = studResponse($record, $table);
function studResponse($record, $table)
{
global $DB;
$lastinsertid = $DB->insert_record($table, $record);
return $lastinsertid;
}
if($data)
{
header("location:view.php?id=$modid");
}

Почему я получаю ошибку, даже если данные вставлены в таблицу. Как я могу это исправить.? Любая помощь заметна.

РЕДАКТИРОВАТЬ

Я получил следующую ошибку

Debug info: unknown error fetching inserted id

[NULL]
Error code: dmlwriteexception

Stack trace: •line 1101 of libdmlmysqli_native_moodle_database.php: dml_write_exception thrown
•line 1144 of libdmlmysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw()
•line 52 of modqadtlocallib.php: call to mysqli_native_moodle_database->insert_record()
•line 18 of modqadtstud_action.php: call to students_response()

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

Я хочу настроить некоторые строки в Moodle. поэтому, когда я нажал на открытый языковой пакет для редактирования, он будет работать до 69% и выдаст ошибку «Ошибка записи в базу данных».

Error/moodle/dmlwriteexception Это указывает на то, что произошла общая ошибка, когда Moodle попытался записать в базу данных. Если вы включите отладку, вы получите более подробную информацию о проблеме.

MySQL Если вы используете базу данных MySQL для установки Moodle, эта ошибка может быть вызвана неправильно настроенным размером сервера max_allowed_packet. Увеличение этого значения может решить проблему.

Я попытался увеличить значение max_allowed_packet с 1M до 100M, но все равно получаю ту же ошибку.

Пожалуйста, помогите мне

3 ответа

Попробуйте указать следующие настройки в вашем config.php:

@ini_set('display_errors', '1'); // NOT FOR PRODUCTION SERVERS!
$CFG->debug = 32767;         // NOT FOR PRODUCTION     SERVERS! // for Moodle 2.0 - 2.2, use:  $CFG->debug = 38911;  
$CFG->debugdisplay = true;   // NOT FOR PRODUCTION SERVERS!

Это должно рассказать вам больше о запросе, который вызывает ошибку, и помочь решить вашу проблему. Когда вы закончите отладку, удалите эти строки, так как они могут создать угрозу безопасности.

Источник: https://docs.moodle.org/23/en/Debugging#In_config. .php


3

Ted van den Brink
19 Фев 2015 в 18:53

Вероятно, это пользовательский плагин с неправильным строковым идентификатором в языковом файле — https:// moodle.org/mod/forum/discuss.php?d=222815

Попробуйте удалить любые пользовательские модули, а затем повторите попытку с настройкой языка, пока не сможете определить, какой пользовательский плагин вызывает проблему.


1

Russell England
19 Фев 2015 в 18:07

Так что я не уверен, связано ли это, но, поскольку я получил точно такое же сообщение, я предполагаю, что это так.

Я новичок в Moodle и пытался установить его локально на свой компьютер. Как только я освоился с этим, я перенес его в размещенную среду. Я уверен, что неправильно выполнил процесс с точки зрения разрешений пользователя, поскольку, как только я перенес экземпляр, я начал получать исключение «ошибка записи в базу данных».

После долгих исследований и перепробовав множество решений, которые не работали, я в конце концов нашел то, что работало. Опасно делать это в базе данных, в которую уже записаны записи, однако решение состояло в том, чтобы удалить столбец «id» затронутой таблицы и добавить его снова с включенным auto_increment:

Шаг 1: Включите отладку в настройках страницы вашего сайта Moodle. Любая вставка в базу данных, скорее всего, вернет ошибку, подобную этой».

Debug info: Field 'id' doesn't have a default value
INSERT INTO mdl_course_sections (course,section,summary,summaryformat,sequence,name,visible,availability,timemodified) VALUES(?,?,?,?,?,?,?,?,?)
[array (
0 => '2',
1 => 10,
2 => '',
3 => '1',
4 => '',
5 => NULL,
6 => 1,
7 => NULL,
8 => 1548419949,
)] 
Error code: dmlwriteexception

Шаг 2: Так как это дает вам имя таблицы и поле эффекта, вы можете выполнить следующую инструкцию SQL:

ALTER TABLE {table_name} DROP COLUMN {column_name};
ALTER TABLE {table_name} ADD COLUMN {column_name} INT AUTO_INCREMENT UNIQUE FIRST;

Поскольку здесь нет ограничений, я бы не советовал удалять столбец первичных ключей, которые, вероятно, являются внешними ключами в других таблицах, если только это не новая установка. Но это сработало хорошо для меня.


0

Jon
28 Янв 2019 в 09:43

В этой статье мы будем использовать следующие способы для устанения ошибки «Ошибка записи в файл»:

  • Способ 1: Запуск инсталлятора с правами администратора
  • Способ 2: Устранение проблем с совместимостью
  • Способ 3: Установка разрешений на запись
  • Способ 4: Отключение UAC
  • Способ 5: Отключение антивируса
  • Способ 6: Проверка состояния жесткого диска

1. Запуск инсталлятора с правами администратора

Наиболее часто рассматриваемая ошибка возникает, когда установочный файл не может получить доступ к определённому месту для записи данных, например, при инсталляции софта на системный диск. В такой ситуации должно помочь открытие исполняемого файла с правами админа: кликните по нему правой кнопкой мыши, затем выберите параметр «Запуск от имени администратора».

2. Устранение проблем с совместимостью

Нередко причина появления ошибки заключается в проблемах с совместимостью: например, установочный файл, предназначенный, скажем, для Windows XP, запускается на Windows 10 последних редакций. В такой ситуации стоит воспользоваться встроенным в ОС средством устранения неполадок совместимости.

  1. Кликните ПКМ по инсталлятору и выберите пункт «Свойства».
  2. Перейдите на вкладку «Совместимость» и воспользуйтесь ссылкой «Запустить средство устранения проблем с совместимостью».
  3. Подождите, пока инструмент подберёт настройки, после чего нажмите «Использовать рекомендованные параметры».

Попробуйте снова установить приложение, на этот раз рассматриваемая проблема больше не появится.

3. Установка разрешений на запись

Если предыдущие методы не помогли устранить ошибку, возможно, дело в разрешениях на изменение содержимого целевого каталога. Рекомендуется проверить существующие параметры и изменить их в случае необходимости, в чём вам поможет этая инструкция.

4. Отключение UAC

Иногда причиной ошибки может быть система контроля учётных записей Windows (UAC): из-за бага или сбоев в настройках безопасности инсталлятору запрещено изменение файловой системы. Для решения этой проблемы можно временно отключить UAC, установить желаемый софт и активировать контроль аккаунтов обратно. На нашем сайте уже есть инструкции по проведению этой процедуры, ознакомьтесь с ними.

5. Отключение антивируса

Нельзя исключать и вмешательство защитного ПО: нередко некоторые устаревшие компоненты инсталляторов помечены в их алгоритмах как небезопасные, антивирус блокирует их, вследствие чего и возникает ошибка записи в файл. Для проверки можно приостановить защиту и выполнить запуск проблемного инсталлятора. Но стоит иметь в виду, что такое решение небезопасно, и пользоваться им лучше лишь в случае крайней необходимости.

6. Проверка состояния жесткого диска

Самой редкой, но и самой неприятной причиной рассматриваемой проблемы являются сбои в работе жесткого диска: не исключено, что в нём присутствуют плохие и/или нестабильные секторы, запись в которые невозможна, о чём и сигнализирует система. Поэтому если ни один из вышеприведённых способов не принёс должного эффекта, следует проверить накопитель. Как проверить SSD и M2 жесткие диски на ошибки, а так же обычные диски читаем здесь и здесь.

  1. Если
    вы и ваши одногруппники увидели
    повторяющуюся проблему, то о ней
    преподавателю сообщает староста группы
    или его заместитель.

  2. При возникновении ошибок, связанных с загрузкой заданий, проверяйте размер и формат файла.

  3. Иногда попадаются ошибки, связанные с работой
    самой платформы. Они всегда сопровождаются
    выводом какого-то сообщения на экране.
    В этом случае нужно писать на почту
    техподдержки edu@vsu.ru
    вместе со скрином и полным описанием
    ситуации: что, в каких условия выводит,
    единичная или у всей группы. Если эта ошибка касается сброса пароля или доступа к курсу, то в письме нужно указать как можно подробней информацию о курсе (желательно ссылка) и заявителе (ФИО, место учёбы, номер студенческого)

В общении с техподдержкой никто не будет спрашивать ваш пароль для входа на портал. Максимум может потребоваться имя пользователя для однозначной идентификации. Пароль кроме вас не должен знать никто, его могут спрашивать только мошенники (или шутники) в корыстных целях.

Последнее изменение: Вторник, 27 апреля 2021, 12:48

Ошибка записи файла базы данных (возможно, нет места на диске) или Ошибка СУБД: No space left on device

Описание ошибки:
На сервере ошибка возникла в обоих вариантах одновременно в двух базах. Только первый текст ошибки — для файловой базы, а второй — для серверной. Каталог файловой базы данных и папки СУБД сервеной базы находились на одном фиизческом диске.

Найденные решения:

Ошибка записи файла базы данных (возможно, нет места на диске) ‘К<каталог_базы>’/1Cv8tmp.1CD

1C 8 ошибка записи файла базы данных возможно, нет места на диске 1Cv8tmp.1CD

Ошибка СУБД:
ERROR: could not write block 41 of temporary file: No space left on device

1C 8 ошибка СУБД: ERROR could not write block of temporary file: no space left on device

Формулировка текста ошибки на русском языке проявила себя быстрее в файловой базе. По формулировке ошибки в принципе понятно, что не просто возможно, а на самом деле место на жестком диске закончилось. Т.е. информирование в ошибке о недостатке физического пространства, как в русской, так и в английской формулировке «No space left on device» (На устройстве нет свободного места) — говорит об первом, что нужно сделать — проверить количество свободной памяти на жестком диске, где размещена база(ы).

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

06-02-2020

Журавлев А.С.
(Сайт azhur-c.ru)

Ошибка записи файла на диск





0

InstantCMS 2.X

При загрузке фото в свой профиль

Всем привет! Подскажите плиз. На 2.8.2 Возникла вчера проблема. При загрузке фото в профиль обычными участниками.
Выскакивает окошко с надписью «Ошибка записи файла на диск». И загрузить не даёт никому. Именно в профиль фото. В альбомы работает.
А я как админ это могу сделать без проблем. Не смог найти проблему.
Из последнего что вчера установил. Компонент поле видео платный. Встал без проблем. Но я кстати его в списках компонентов установленных не нашел…
www.zau4man.ru/moi-tipy-polei/tip-polja-video-dlja-instant-2.html
Подскажите где что поискать? С уважением.

Права доступа на папку проверьте
должно быть 777
и еще владельца

Права доступа на папку проверьте
должно быть 777
и еще владельца

если в альбом грузятся и если в профиль грузятся от админа то права на директории не при чем походу…
где то еще причина…

Права доступа на папку проверьте
должно быть 777
и еще владельца

Вы были правы…
права правильные стояли… а владелец нет))

Всем спасибо. Проблема решена :)

есть такая проблема загружается но не отображается, бывает в списке бывает в записи, а бывает вообще нигде. Когда второй или третий раз загружаешь, отображается везде.

решение

еще раз изменить права на папку, менял программой WinSCP

Уважаемые напишите на какую папку права ставили…

Уважаемые напишите на какую папку права ставили..

В вашей теме ответил на счет прав. Здесь

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.

В этой статье мы будем использовать следующие способы для устанения ошибки «Ошибка записи в файл»:

  • Способ 1: Запуск инсталлятора с правами администратора
  • Способ 2: Устранение проблем с совместимостью
  • Способ 3: Установка разрешений на запись
  • Способ 4: Отключение UAC
  • Способ 5: Отключение антивируса
  • Способ 6: Проверка состояния жесткого диска

1. Запуск инсталлятора с правами администратора

Наиболее часто рассматриваемая ошибка возникает, когда установочный файл не может получить доступ к определённому месту для записи данных, например, при инсталляции софта на системный диск. В такой ситуации должно помочь открытие исполняемого файла с правами админа: кликните по нему правой кнопкой мыши, затем выберите параметр «Запуск от имени администратора».

2. Устранение проблем с совместимостью

Нередко причина появления ошибки заключается в проблемах с совместимостью: например, установочный файл, предназначенный, скажем, для Windows XP, запускается на Windows 10 последних редакций. В такой ситуации стоит воспользоваться встроенным в ОС средством устранения неполадок совместимости.

  1. Кликните ПКМ по инсталлятору и выберите пункт «Свойства».
  2. Перейдите на вкладку «Совместимость» и воспользуйтесь ссылкой «Запустить средство устранения проблем с совместимостью».
  3. Подождите, пока инструмент подберёт настройки, после чего нажмите «Использовать рекомендованные параметры».

Попробуйте снова установить приложение, на этот раз рассматриваемая проблема больше не появится.

3. Установка разрешений на запись

Если предыдущие методы не помогли устранить ошибку, возможно, дело в разрешениях на изменение содержимого целевого каталога. Рекомендуется проверить существующие параметры и изменить их в случае необходимости, в чём вам поможет этая инструкция.

4. Отключение UAC

Иногда причиной ошибки может быть система контроля учётных записей Windows (UAC): из-за бага или сбоев в настройках безопасности инсталлятору запрещено изменение файловой системы. Для решения этой проблемы можно временно отключить UAC, установить желаемый софт и активировать контроль аккаунтов обратно. На нашем сайте уже есть инструкции по проведению этой процедуры, ознакомьтесь с ними.

5. Отключение антивируса

Нельзя исключать и вмешательство защитного ПО: нередко некоторые устаревшие компоненты инсталляторов помечены в их алгоритмах как небезопасные, антивирус блокирует их, вследствие чего и возникает ошибка записи в файл. Для проверки можно приостановить защиту и выполнить запуск проблемного инсталлятора. Но стоит иметь в виду, что такое решение небезопасно, и пользоваться им лучше лишь в случае крайней необходимости.

6. Проверка состояния жесткого диска

Самой редкой, но и самой неприятной причиной рассматриваемой проблемы являются сбои в работе жесткого диска: не исключено, что в нём присутствуют плохие и/или нестабильные секторы, запись в которые невозможна, о чём и сигнализирует система. Поэтому если ни один из вышеприведённых способов не принёс должного эффекта, следует проверить накопитель. Как проверить SSD и M2 жесткие диски на ошибки, а так же обычные диски читаем здесь и здесь.

So I’m not sure if this is related, but since I received the exact same message, I’, assuming so.

I am new to Moodle, and tried to install it locally on my machine. Once I was comfortable with that I migrated it to a hosted environment. I am certain I did not execute the process correctly in terms of user permissions, since as soon as I migrated the instance I started getting the «error writing to database» exception.

After a lot of research, and after trying many solutions that did not work, I eventually found something that did. It is dangerous to do this on a database that has records already written to it, however the solution was to drop the ‘id’ column of the effected table and add it again with auto_increment on:

Step 1: Turn on Debugging in the Page settings of your Moodle site. Any database insert will then likely return en error like this»

Debug info: Field 'id' doesn't have a default value
INSERT INTO mdl_course_sections (course,section,summary,summaryformat,sequence,name,visible,availability,timemodified) VALUES(?,?,?,?,?,?,?,?,?)
[array (
0 => '2',
1 => 10,
2 => '',
3 => '1',
4 => '',
5 => NULL,
6 => 1,
7 => NULL,
8 => 1548419949,
)] 
Error code: dmlwriteexception

Step 2: Since this gives you the table name and the effected field, you can then exectue the following SQL statement:

ALTER TABLE {table_name} DROP COLUMN {column_name};
ALTER TABLE {table_name} ADD COLUMN {column_name} INT AUTO_INCREMENT UNIQUE FIRST;

As there are no restrictions here, dropping a column of primary keys, which are likely foreign keys in other tables, I would not advise this unless it is a fresh install. But it worked well for me.

  • Ошибка записи файла конфигурации combiloader
  • Ошибка записи файла компас prj
  • Ошибка записи файла компас cfg
  • Ошибка записи файла возможно нет места на диске хотя место есть
  • Ошибка записи файла возможно нет места на диске call of duty mw3