Проблемы и неисправности

4. Азбука Комментариев нет

Проблемы и неисправности

Возможные проблемы и неисправности, возникающие в ходе установки, настройки и эксплуатации MajorDoMo, а также способы их решения.

 

1. Системная ошибка php.exe при запуске MajorDoMo на ОС Windows

Описание

Системная ошибка php.exe при запуске MajorDoMo на ОС Windows. Не удается продолжить выполнение кода, поскольку система не обнаружила VCRUNTIME140.dll.

Решение

  1. Для 64-битной редакции Windows установить обе версии (x86 и x64) Microsoft Visual C++ Redistributable for Visual Studio 2015.
  2. Если используется ОС Windows XP, то обновить ОС до Windows 7 и выше. ОС Windows XP не поддерживается.

2. Ошибка в процессе установки MajorDoMo на ОС Windows

Описание

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

Решение

  1. Убедиться, что есть соединение с Интернет и корректно настроено системное время (с точностью до минуты), и повторить установку.
  2. В мастере установки на этапе выбора компонентов снять галочку с пункта «Latest stable updates (requires internet connection)» и повторить установку. Обновление системы выполнить после успешной установки и запуска MajorDoMo через Панель управления.

3. После перезагрузки конфигурация MajorDoMo возвращается к начальной

Описание

Проявляется как потеря всех внесенных пользователем изменений. Возникает в основном по факту перезагрузки сервера и в большинстве случаев на одноплатных ПК без аппаратных часов реального времени и с активным механизмом переноса базы с карты памяти (SD) в оперативную память.

Решение

  1. Обеспечить синхронизацию системного времени ОС по сети до загрузки служб MajorDoMo, либо подключить и задействовать аппаратные часы реального времени (RTC).
  2. Перезагрузку и завершение работы сервера (ОС) выполнять только с помощью штатных сценариев MajorDoMo, которые предварительно выполняют сохранение актуального состояния базы данных из оперативной памяти в дамп на карту памяти.

4. Не пишется история значений свойства объекта

Описание

Свойство объекта имеет только одно текущее значение. История значений отсутствует, либо обновляется с большой задержкой. График значений свойства не строится или имеет прямолинейный вид.

Решение

  1. Создать свойство на уровне класса, а не на уровне объекта.
  2. В настройках свойства указать ненулевое значение в поле Хранить историю.
  3. Проверить статус цикла cycle_phistory. Должен быть запущен и штатно работать.
  4. Проверить количество записей в таблице phistory_queue в базе данных (модуль XRay или через phpMyAdmin). В штатном режиме в ней не должно быть более 200 записей. Если эта таблица быстро заполняется, значит ваш сервер не справляется с потоком поступающих данных.

5. Ошибка Fatal error: Cannot redeclare toDBDate()

Описание

После восстановления из резервной копии (или в некоторых других ситуациях) возникает ошибка:

Fatal error: Cannot redeclare toDBDate()(previously declared in /var/www/html/lib/sqlFunctions.class.php:266)

Также проявляется как

Fatal error: Cannot redeclare SQLExec()(previously declared in /var/www/html/lib/sqlFunctions.class.php)

Связано с несовместимостью версий MajorDoMo в резервной копии и с той, на которой восстанавливается эта резервная копия.

Решение

Удалить файл ./lib/sqlFunctions.class.php


6. Ошибка Uncaught Error: Call to undefined function mb_internal_encoding()

Описание

Расширение (модуль) PHP mbstring является обязательным для MajorDoMo. Если оно не установлено или не соответствует версии PHP, то возникает ошибка:

PHP Fatal error: Uncaught Error: Call to undefined function mb_internal_encoding()

Решение

Установить расширение (модуль) mbstring для PHP.

sudo apt install php-mbstring


7. Ошибка Uncaught Error: Call to undefined function curl_init()

Описание

Расширение (модуль) PHP curl является обязательным для MajorDoMo. Если оно не установлено или не соответствует версии PHP, то возникает ошибка:

PHP Fatal error: Uncaught Error: Call to undefined function curl_init()

Решение

Установить расширение (модуль) curl для PHP.

sudo apt install php-curl


8. Ошибка Properties history queue is too long ()

Описание

Ошибка возникает при работе системного цикла phistory_queue, который отвечает за запись истории значений свойств объектов в базу данных из очереди. Это означает, что данные поступают с такой скоростью, что система не может их оперативно обработать. В цикле стоит проверка на размер очереди (по умолчанию 200), и если в очереди больше чем 200 записей, то выдаётся предупреждение. Также данные в очереди могут накапливаться и своевременно не обрабатываться, если цикл cycle_phistory по какой-то причине остановлен.

Решение

  1. Проверить статус цикла cycle_phistory. Должен быть запущен и штатно работать.
  2. Выяснить и устранить причину аномально большой скорости поступления данных в систему.
  3. Проработать и оптимизировать запись исторических данных (фильтровать входные данные до их записи в свойства объектов).
  4. Увеличить производительность системы путем аппаратного апгрейда.
  5. Если для системы такой объем поступаемых данных в порядке вещей и считается нормой, то можно увеличить лимит записей в таблице phistory_queue, создав свойство phistory_queue_limit у объекта ThisComputer и вписав в него значение, заведомо большее, чем в сообщениях об ошибках (к примеру, 250).

9. Ошибка Fatal error: Uncaught PDOException

Описание

Некоторые модули MajorDoMo используют для работы с базой данных PHP-расширение PDO MySQL. Если оно не активировано в конфигурационном файле php, то будет возникать данная ошибка. По большей части актуально для Windows дистрибутивов MajorDoMo. В Linux в большинстве случаев данное расширение загружается по умолчанию.

Fatal error: Uncaught PDOException: could not find driver in ...

Решение

Активировать PHP-расширение pdo_mysql в конфигурационном файле php. В ОС Windows для этого необходимо в конфигурационном файле php.ini найти строку ;extension=pdo_mysql и удалить точку с запятой в начале. Затем сохранить файл и перезагрузить компьютер для применения изменений. Конфигурационный файл php.ini в ОС Windows находится по пути C:_majordomo\server\config_tpl\php.ini


10. Не сохраняются (не обновляются) значения в свойстве объекта

Описание

Свойство объекта привязано к какой-либо метрике в модуле. На странице в модуле значения метрики обновляются, но в привязанное свойство объекта данные не поступают.

Решение

  1. Проверить и при необходимости переименовать названия свойства и объекта - в них не должно быть пробелов и специальных символов (точки, #, $, % и т. п.) Допускается использование букв, цифр и знака подчеркивания.
  2. Убедиться, что сущность "объект.свойство" уникальная в системе, и нет дублей с такими же именами.
  3. Проверить установку привязки свойства к метрике в модуле. На вкладке Свойства нужного объекта в строке со свойством должна быть отметка вида (linked to: xiaomimiio), которая сигнализирует о том, что свойство успешно привязано к модулю (или нескольким модулям одновременно).

 


Если есть идеи и пожелания по обновлению перечня проблем и способов их решений, то пишите на info@mdmi.by или в Telegram-группу.

Поделитесь в соц сетях

Теги: