Tickets не работают комментарии
Замутил на modx revo 2.8.7 сайт, решил к статьям сделать комментирование, установил tickets и вывел стандартную форму комментирования. Форма без заполнения работает, т.е. при пустой форме можно нажать на кнопку «Предпросмотр» и она работает, нажать кнопку «Написать» и отрабатывается валидация, но когда заполняю форму, то кнопки не работают и в консоле выскакивает /assets/components/tickets/action.php 500 (Internal Server Error). Поискал варианты решения в инете, но так и не нашел. Попробовал изменить права на папки, тоже не сработало. Jquery установлен. Может кто сталкивался с такой проблемой. Сайт лежин на хостинге бегет
Комментарии: 8
Если ошибка 500 значит надо логи сервера смотреть
Пробовал на двух хостингах на бегете и таймвебе, и везде ошибка 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, пробовал менять, ничего не случалось. Находил в инете варианты, что может быть из-за версии php, пробовал менять, ничего не случалось.А ты PHP 5.6 ставил? У тебя же есть сообщение об ошибке, там написано «Array and string offset access syntax with curly braces is no longer supported» и указано в каком файле и на какой строке. Думаю надо заменить фигурные скобки на квадратные.
Менял фигурные скобки и пробовал разные версии php ничего не сработало. Техподдержка бегет тоже отписалась, что нужно попробовать версию php понизить и скобки поменять на квадратные. Попробую снова поиграться со скобками и версиями php может заработает.
Если не ошибаюсь, то тикетсы работают на последнем MODX. php 7.4 с БД мускулом 5.7.
Проверьте окружение для начала.
Проверьте окружение для начала.
Всем большое спасибо. Не знаю из-за чего изначально не заработало, может кэш не почистил, может еще что-то было, но в файле
/public_html/core/components/jevix/vendor/agelxnash/jevix/src/functions.php
поменял фигурные кавычки на квадратные и заработало. Стоит последняя версия php. Из плюсов еще заработало создание тикетов, раньше при кнопке сохранить просто зависало на сохранении, теперь заработало.
/public_html/core/components/jevix/vendor/agelxnash/jevix/src/functions.php
поменял фигурные кавычки на квадратные и заработало
Илья, где именно поменяли? Файл выложите, пожалуйста
поменял фигурные кавычки на квадратные и заработало
Илья, где именно поменяли? Файл выложите, пожалуйста
Путь до файла /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;
}
}
}
}
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.