НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.1.2 >> [I128-2382] PHP Fatal error: Uncaught TypeError: substr(): Argument #1 ($string) must be of type string, array given in modules/Format/__call/Fmt.inc:81📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Исправление ошибок | 2026.1.2 | 🔘 Завершено |
Средний | Галина Арноси |
Компоненты: ИРБИС 128. Модуль Format - Подсистема форматирования записей ИРБИС 128
Завершено: 05.06.2026 11:21
Проблема: В методе Exec класса fncallFormatFmt (файл modules/Format/__call/Fmt.inc) происходит проверка результата форматирования на наличие префикса </>, который сигнализирует о необходимости обработки BB-кодов. Однако некоторые типы форматов (например, showgallery) могут возвращать результат в виде массива, а не строки. В PHP 8.0 и выше передача массива в функцию substr() вызывает фатальную ошибку TypeError: substr(): Argument #1 ($string) must be of type string, array given, что приводит к аварийному завершению работы скрипта.
Решение: В логику обработки результата добавлена проверка is_array($res) == false. Теперь вызов substr() и последующее применение BB-кодов выполняются только в том случае, если переменная $res не является массивом.
-
PHP Fatal error: Uncaught TypeError: substr(): Argument #1 ($string) must be of type string, array given in /data/www/html/modules/Format/__call/Fmt.inc:81 при запросе формата showgallery