Tickets не работают комментарии

Замутил на modx revo 2.8.7 сайт, решил к статьям сделать комментирование, установил tickets и вывел стандартную форму комментирования. Форма без заполнения работает, т.е. при пустой форме можно нажать на кнопку «Предпросмотр» и она работает, нажать кнопку «Написать» и отрабатывается валидация, но когда заполняю форму, то кнопки не работают и в консоле выскакивает /assets/components/tickets/action.php 500 (Internal Server Error). Поискал варианты решения в инете, но так и не нашел. Попробовал изменить права на папки, тоже не сработало. Jquery установлен. Может кто сталкивался с такой проблемой. Сайт лежин на хостинге бегет
Илья
27 февраля 2025, 17:08
modx.pro
1 270
0

Комментарии: 8

Артур Шевченко
27 февраля 2025, 18:04
0
Если ошибка 500 значит надо логи сервера смотреть
    Илья
    27 февраля 2025, 18:23
    0
    Пробовал на двух хостингах на бегете и таймвебе, и везде ошибка 500 появляется. На бегете писал в поддержку, мне отписались что проблема возникает из-за некоректной работы php-скрипта
    [26-Feb-2025 19:32:25 Europe/Moscow] PHP Fatal error:  Array and string offset access syntax with curly braces is no longer supported in /home/d/d20ilns5/gb.d20ilns5.beget.tech/public_html/core/components/jevix/vendor/agelxnash/jevix/src/functions.php on line 10
    Находил в инете варианты, что может быть из-за версии php, пробовал менять, ничего не случалось.
      Артур Шевченко
      27 февраля 2025, 18:45
      0
      Находил в инете варианты, что может быть из-за версии php, пробовал менять, ничего не случалось.
      А ты PHP 5.6 ставил? У тебя же есть сообщение об ошибке, там написано «Array and string offset access syntax with curly braces is no longer supported» и указано в каком файле и на какой строке. Думаю надо заменить фигурные скобки на квадратные.
        Илья
        27 февраля 2025, 19:45
        0
        Менял фигурные скобки и пробовал разные версии php ничего не сработало. Техподдержка бегет тоже отписалась, что нужно попробовать версию php понизить и скобки поменять на квадратные. Попробую снова поиграться со скобками и версиями php может заработает.
    Алексей Смирнов
    27 февраля 2025, 19:31
    0
    Если не ошибаюсь, то тикетсы работают на последнем MODX. php 7.4 с БД мускулом 5.7.
    Проверьте окружение для начала.
      Илья
      28 февраля 2025, 18:09
      0
      Всем большое спасибо. Не знаю из-за чего изначально не заработало, может кэш не почистил, может еще что-то было, но в файле
      /public_html/core/components/jevix/vendor/agelxnash/jevix/src/functions.php
      поменял фигурные кавычки на квадратные и заработало. Стоит последняя версия php. Из плюсов еще заработало создание тикетов, раньше при кнопке сохранить просто зависало на сохранении, теперь заработало.
        inna
        28 апреля 2025, 19:44
        0
        /public_html/core/components/jevix/vendor/agelxnash/jevix/src/functions.php
        поменял фигурные кавычки на квадратные и заработало

        Илья, где именно поменяли? Файл выложите, пожалуйста
          Илья
          28 апреля 2025, 19:51
          0
          Путь до файла /core/components/jevix/vendor/agelxnash/jevix/src/functions.php.

          Исправленный вариант кода:
          <?php
          /**
           * Функция ord() для мультибайтовы строк
           *
           * @param string $c символ utf-8
           * @return int код символа
           */
          function uniord($c)
          {
              $h = ord($c[0]);
              if ($h <= 0x7F) {
                  return $h;
              } else {
                  if ($h < 0xC2) {
                      return false;
                  } else {
                      if ($h <= 0xDF) {
                          return ($h & 0x1F) << 6 | (ord($c[1]) & 0x3F);
                      } else {
                          if ($h <= 0xEF) {
                              return ($h & 0x0F) << 12 | (ord($c[1]) & 0x3F) << 6
                                  | (ord($c[2]) & 0x3F);
                          } else {
                              if ($h <= 0xF4) {
                                  return ($h & 0x0F) << 18 | (ord($c[1]) & 0x3F) << 12
                                      | (ord($c[2]) & 0x3F) << 6
                                      | (ord($c[3]) & 0x3F);
                              } else {
                                  return false;
                              }
                          }
                      }
                  }
              }
          }
          
          /**
           * Функция chr() для мультибайтовы строк
           *
           * @param int $c код символа
           * @return string символ utf-8
           */
          function unichr($c)
          {
              if ($c <= 0x7F) {
                  return chr($c);
              } else {
                  if ($c <= 0x7FF) {
                      return chr(0xC0 | $c >> 6) . chr(0x80 | $c & 0x3F);
                  } else {
                      if ($c <= 0xFFFF) {
                          return chr(0xE0 | $c >> 12) . chr(0x80 | $c >> 6 & 0x3F)
                              . chr(0x80 | $c & 0x3F);
                      } else {
                          if ($c <= 0x10FFFF) {
                              return chr(0xF0 | $c >> 18) . chr(0x80 | $c >> 12 & 0x3F)
                                  . chr(0x80 | $c >> 6 & 0x3F)
                                  . chr(0x80 | $c & 0x3F);
                          } else {
                              return false;
                          }
                      }
                  }
              }
          }
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        8