Не загружается список пакетов. Loading. И ничего.
Здравствуйте. Только что установил последнюю версию CMS, взятую с официального сайта.
Перехожу в «Управление пакетами», жму «Загрузить дополнения» и… Бесконечный «loading».
Установлен Xampp, версия PHP 5.6.19. cUrl проверял, подключено.
Подскажите, пожалуйста, как пофиксить? Гуглил долго, ничего толкового не нашёл.
Перехожу в «Управление пакетами», жму «Загрузить дополнения» и… Бесконечный «loading».
Установлен Xampp, версия PHP 5.6.19. cUrl проверял, подключено.
Подскажите, пожалуйста, как пофиксить? Гуглил долго, ничего толкового не нашёл.
Комментарии: 8
Смотрите журнал ошибок/консоль браузера, скорее всего туда спроецируется причина.
В консоли браузера ошибка:
Раскрываю эту ошибку и там такое:
А выше ещё одна ошибка, только на не раскрывается:
Показывает, что она находится в файле index.php:514:961
В логах CMS пусто.
SyntaxError: expected expression, got '}'
Раскрываю эту ошибку и там такое:
SyntaxError: expected expression, got '}'
Ext.util.JSON</doDecode() ext-all.js:21
Ext.util.JSON</this.decode</<() ext-all.js:21
.onStoreException() index.php:46
h.Event.prototype.fire() ext-all.js:21
h.Observable.prototype.fireEvent() ext-all.js:21
g/<() ext-all.js:21
h.Event.prototype.fire() ext-all.js:21
h.Observable.prototype.fireEvent() ext-all.js:21
.onRead() ext-all.js:21
.createCallback/<() ext-all.js:21
.handleResponse() ext-all.js:21
f() ext-base.js:21
m() ext-base.js:21
.createCallback/<() ext-base.js:21
А выше ещё одна ошибка, только на не раскрывается:
unreachable code after return statement
Показывает, что она находится в файле index.php:514:961
node.ui.elNode.appendChild(el);var inlineButtonsLang=tree.getInlineButtonsLang(node);var btn=MODx.load({xtype:'modx-button',text:'',scope:this,tooltip:new Ext.ToolTip({title:inlineButtonsLang.add,target:this}),node:node,handler:function(btn,evt){evt.stopPropagation(evt);node.getOwnerTree().handleCreateClick(node);},iconCls:'icon-plus-circle',renderTo:elId,listeners:{mouseover:function(button,e){button.tooltip.onTargetOver(e);},mouseout:function(button,e){button.tooltip.onTargetOut(e);}}});var btn=MODx.load({xtype:'modx-button',text:'',scope:this,tooltip:new Ext.ToolTip({title:inlineButtonsLang.refresh,target:this}),node:node,handler:function(btn,evt){evt.stopPropagation(evt);node.reload();},iconCls:'icon-refresh',renderTo:elId,listeners:{mouseover:function(button,e){button.tooltip.onTargetOver(e);},mouseout:function(button,e){button.tooltip.onTargetOut(e);}}});window.BTNS.push(btn);}}(this)),200);return false;var btn=document.createElement('div');btn.innerHTML='H';node.el.appendChild(btn);}},handleCreateClick:function(node){},getInlineButtonsLang:function(node){var langs={};if(node.id!=undefined){var type=node.id.substr(2).split('_');if(type[0]=='type'){langs.add=_('new_'+type[1]);}else if(type[0]=='category'){langs.add=_('new_'+type[0]);}else{langs.add=_('new_document');}}
В логах CMS пусто.
github.com/modxcms/revolution/issues/12400 — похоже на это.
Если у вас хром, можете дополнительно открыть консоль на закладке Network, после чего перейти на страницу управления пакетами. В network'e выберите элемент, который возвращает ошибку и в появившейся формочке перейдите на закладку «response» — тогда получится узнать подробнее об ошибке.
Возможно, проблема связана с работой Xampp.
Если у вас хром, можете дополнительно открыть консоль на закладке Network, после чего перейти на страницу управления пакетами. В network'e выберите элемент, который возвращает ошибку и в появившейся формочке перейдите на закладку «response» — тогда получится узнать подробнее об ошибке.
Возможно, проблема связана с работой Xampp.
Да, в issue проблема такая же, как и у меня.
В Хроме посмотрел. Говорит «Failed to load response data».
Поставил Openserver с версией PHP 5.4. Всё работает. Но у меня Openserver работает медленнее, чем Xampp, поэтому хотелось бы работать с Xampp.
А это что, 872 нерешённые ошибки у Revo на Github? Значит, CMS особо не развивается?
В Хроме посмотрел. Говорит «Failed to load response data».
Поставил Openserver с версией PHP 5.4. Всё работает. Но у меня Openserver работает медленнее, чем Xampp, поэтому хотелось бы работать с Xampp.
А это что, 872 нерешённые ошибки у Revo на Github? Значит, CMS особо не развивается?
Расписано здесь.
Слегка модифицировал:
Слегка модифицировал:
public function toJSON($array) {
$encoded= '';
if ( is_array($array) ) {
if (!function_exists('json_encode')) {
if (@ include_once (XPDO_CORE_PATH . 'json/JSON.php')) {
$json = new Services_JSON();
$encoded= $json->encode($array);
}
} else {
$encoded= json_encode($array);
if (json_last_error() == JSON_ERROR_UTF8)
{ $array = self::arrayEncodeUTF8($array);
$encoded= json_encode($array); }
}
}
return $encoded;
}
public static function arrayEncodeUTF8($array)
{ foreach($array as $key => $value)
{ if (!is_array($value))
{ if (is_string($value))
{ json_encode($value);
if (json_last_error() == JSON_ERROR_UTF8)
{ $array[$key] = iconv('CP1251', 'UTF-8', $value); }
}
} else { $array[$key] = self::arrayEncodeUTF8($value); }
}
return $array;
}
— Win,XAMPP, PHP 7
Да, заработало. Не пойму, это с сервером связано или с движком?
Не с движком, это что-то внутреннее у XAMPP/Openserver (мб и у Денвера), такая проблема не новая у виндовых пользователей.
Если версия php больше 5.5 можно просто сделать так
$encoded= json_encode($array,JSON_PARTIAL_OUTPUT_ON_ERROR);
Суть в том что почему то в массиве присутствуют битые строки. И поэтому возникает ошибка.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.