-
- 11 Posts
Здравствуйте.
Установил себе wamp 2.5, развернул на нем modx 2.4.2, но возникла проблема при попытке установить пакеты, их список был пуст.
В консоли Chrome появлялось сообщение об ошибке вида:
"Uncaught SyntaxError: Unexpected token }"
в
Ext.util.JSON.doDecode @ ext-all.js:21
после запроса:
/connectors/index.php с параметром action:workspace/packages/rest/getList
ответ:
{"success":true,"total":"471","results":}
у свойства "results" отсутствуют данные, что и вызвало ошибку декодирования JSON.
Копаясь глубже, было выяснено, что это все происходит в файл \core\xpdo\xpdo.xpdo.class.php:2378 в методе toJSON
В строке $encoded= json_encode($array); массив $array не пустой, однако, в $encoded содержится NULL.
Результат вызова json_last_error_msg() после json_encode вернул:
'Malformed UTF-8 characters, possibly incorrectly encoded'
Было обнаружено, что в массиве $array присутствовали элементы со значениями [releasedon] => ��� 09, 2014, однако, даты других полей, например: [createdon] => 2014-12-09T05:31:41+0000 или [editedon] => 2015-11-05T08:53:13+0000 в нормальном формате.
При использовании библиотеки JSON в поставке modx, которая подключается в случае отсутствия расширения json для php, данной ошибки не возникает, однако, дата releasedon отображается как ?003f003f 29, 2015, что, собственно, логично, ибо дата заведомом битая.
Кто сталкивался с такими проблемами или есть решения подобной проблемы, ведь эти данные приходят с репозитория modx.com?
-
- 1 Posts
так что, как проблему решили?!
-
- 1 Posts
Отлично, проблема разрешилась. Спасибо, godyrev.
-
- 1 Posts
godyrev спасибо, проблема с пустой админкой и управлением пакетами решена благодаря этому исправлению в файле core\xpdo\xpdo.class.php
MODX установлен на OpenServer, Apache 2.4, PHP 5.6.