Если вместо загрузки страницы вы столкнулись с белым экраном, содержащим такую ошибку:
Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes)
Разрешите на сервере больше оперативной памяти для PHP
. Эта ошибка возникает, когда для выполнения текущей операции, в том числе и для открытия таблицы, недостаточно оперативной памяти.
Если у вас открывается очень большая таблица, то попробуйте ограничить количество строк, которые должны быть показаны при помощи префильтра или страниц.
В некоторых случаях эта же ошибка может быть вызвана бесконечным циклом в кодах. Смотрите следующий пункт.
Иногда коды в полях могут привести к вечному зацикливанию таблицы, потреблению всей доступной оперативной памяти или исчерпанию стека рекурсии в PHP. В первом случае выпадет ошибка как описано выше, во втором может быть ошибка сервера или белый экран.
Например: код в любом поле хедера вида:
=: recalculate(table: $#ntn)
Приведет к гарантированной неработоспособности таблицы. В этом случае, классическим образом открыть таблицу не удасться.
Для исправления подобных ситуаций вы можете открыть настройки полей через состав таблиц по пути Системные таблицы — Основные — Таблицы и поля — Состав таблиц
и отфильтровать поля по нужной вам таблице.
Настройки полей хранятся в поле Параметры поля.
Если выполнение изменения в таблице или действия было остановлено по максимальному времени выполнения скрипта — увеличьте доступное для Totum
время выполнения:
Переопределить можно Conf.php
в корневой папке установки в параметре:
public static $timeLimit = 120; // в секундах, по умолчанию 2 минуты
Что бы открыть Conf.php на редактирование выполните:
nano /home/totum/totum-mit/Conf.php
Если вы столкнулись с тем, что файл не загружается в поле файл то проверьте на сервере параметры upload_max_filesize
и post_maxsize
.
Откроейте настройки pool
fpm
:
nano /etc/php/8.3/fpm/pool.d/totum.conf
Параметр:
php_admin_value[upload_max_filesize] = 10M
Откройте настройки nginx
:
nano /etc/nginx/sites-available/totum.online.conf
Параметр:
client_max_body_size 10M;
Перезагрузите fpm
и nginx
:
service php8.3-fpm restart && service nginx restart
Возможно у вас включено логирование (в верхнем правом углу экрана) и логи слишком велики для отображения. Откройте любую другую таблицу и отключите логи.
Возможно вы хотите загрузить слишком большую таблицу. Включите для нее страницы, открыв настройки из Системные таблицы — Основные — Таблицы и поля — Список таблиц
.
Логи потребляют большое количество серверной мощности и передаются в браузер вместе с содержимым страниц. Поэтому их включение разделено на секции:
Код — отслеживание секции вычисления значений полей.
Код действия — отслуживание секции выполнения действий.
Селекты — отслеживание секции расчета отображений селектов.
Форматирование — отслуживанивание секции форматирования.
Пересчеты и селекты
— устаревшее, отключено.
Время расчета полей
— записывает время расчета полей по различным секциям кода, для оптимизации быстродействия больших таблиц. Результат работы вызывается при клике на иконку таблицы рядом с галочкой после обновления таблицы.
Рекомендуется одновременно включать не больше двух! После включения лога необходимо совершить целевое действие для записи.
Логи расчетов нигде не хранятся, отдаются в веб-интерфейс вместе с таблицей при изменении таблицы.
Логи доступны по кнопке Лог
в правом верхнем углу таблицы. Для просмотра логов по конкретной ячейке возможно вызвать окно отладки из панельки по правой кнопке мыши.
ic
— только секция код.
ia
— только секция код действия.
if
— только секция форматирования.
is
— только секция код-селекта.
В PRO-версии можно подсветить заголовки полей для быстрого поиска нужного типа кода используемого в полях таблицы.
В логе можно увидеть последовательность выполнения строк кода, их результаты, входящие параметры и используемые переменные. Также можно выяснить на каком этапе возникла ошибка. Ошибка всплывает к пусковой строке кода.
Придоступе к логам через кнопку Лог
поля разделены по плейсментам. Внутри строчной части
адресация осуществляется по id
строки.
Обозначения:
Ког (шестеренки)
— секция кода.
Ванд (волшебная палочка)
— элемент.
Рука
— обозначает секцию кода вычисленную и зафиксированную в предыдущей операции.
</> (дробь)
— вывод значений списков.
HDD (диски)
— запрос к базе данных.
При клике на элемент он будет развернут во всплывающем окне.
При возникновении ошибки ее можно проследить до места возникновения.
Используется для отладки быстродействия и нагрузки.
Включить — перезагрузить — Открыть:
table
— таблица в которой измеряется время выпонения кодов полей.
field
— name полей.
type
— тип выполнения операции:
calc
— выполнение кода.
selectViewList
— расчет отображения селекта.
format
— расчет форматирования.
time
— общее время выполнения кодов по типу в этом поле в секундах.
times
— количество раз, которое был выполнен код. Для хедера и футера для поля это будет 1 раз, для строчной части — по количеству строк.
Если таблица не открывается и вы не знаете в каком поле находится ошибка, то можно попробовать ее найти поиском.
В Отладке открываете поисквик ошибок:
Путь — указывается полный путь к ошибочной таблице.
Пользователь — выбираете пользователя от которого выполнять проверку.
Лимит — лимит в секундах на итерацию, Он перекрывает стандартный лимит времени исполнения скрипта для базы, что бы избежать долгого ожидания. По умолчанию 1 секунда. Вам нужн устанвить в соответствии с реальными условиями.
Основная таблица или Страница — для таблиц у которых есть разбивка на страницы надо проверить оба!
После указания параметров — нажать Start.
Проверка осуществляется следующим образом: Запускается таблицы со всем кодами. Если код 200 получить за лимит не удалось — отключаются по очереди коды форматирования, действия, коды и для того, что бы найти проблемную точку.
После этого осуществляется поиск поля в котором происходит ошибка.