Разделы
Veselov CV | vvShop © 2008 – 2018
Контакты
email:
skype:
Вернуться
» » » Ошибка Call to undefined function json_decode() или json_encode()

Ошибка Call to undefined function json_decode() или json_encode()


Это значит, что у Вас не определяется функция json_decode() или json_encode(). А это может быть в случае если у вас php ниже 5.2.0.

Как это пофиксить без обновления:

Качаем либу http://mike.teczno.com/JSON.tar.gz

Вставляем где нужно:
if( !function_exists('json_encode') ) {
    function json_encode($data) {
        $json = new Services_JSON();
        return( $json->encode($data) );
    }
}

// Future-friendly json_decode
if( !function_exists('json_decode') ) {
    function json_decode($data, $bool) {
        if ($bool) {
            $json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
        } else {
            $json = new Services_JSON();
        }
        return( $json->decode($data) );
    }
}


Подключаем либу:
include("JSON.php");


Всо -) пс, ТыЦ Дэсять -)
#
phpinfo показывается, что у хостера PHP Version 5.2.10, но сабжевая ошибка тем не менее появляется
какие могут быть варианты?
#
ZradeG, хмхм в версии выше старше 5.2.0 поддержка JSON встроена в ядро. как вариант все таки их подключить вручную как написано в посте...
#
igor_veselov, а можно ли как-то осуществить это подключение, не обладая правами доступа куда-либо кроме домашней директории?
дело-то у хостера на сервере происходит
#
ZradeG, можно
#

igor_veselov,
А не подскажешь как?
Пишу маленький плагин, который будет работать и на PHP низших версий
Заранее благодарен
#
об этом и пост. подключить класс и юзать как буд-то поддержка есть -)
#
Ошибка JSON DATA ERROR: Fatl error: Call to undefined function: json_decode() in
plugins\editors\jce\libraries\classes\plugin.php on line 860

В текстовом редакторе JCE, когда открываю библиотеку, чтобы вставить изображение в текст. Подойдет ли описанный вами способ?

Если да, подскажите, пожалуйста, где нужно вставлять код? И где подключать либу, а главное как? Заранее спасибо за ликбез)))
#
Скиньте файлик JSON.php в plugins\editors\jce\libraries\classes\

и в plugins\editors\jce\libraries\classes\plugin.php в самом верху после
#
Советчикус, Здравствуйте . Сделал как Вы написали, - ПРОБЛЕМА осталась
Ошибка JSON DATA ERROR: Fatl error: Call to undefined function: json_decode() in
plugins\editors\jce\libraries\classes\plugin.php on line 860
#
polkan,
Из поста
Вставляем где нужно: ДАЛЬШЕ КОД

этот код тоже надо вставить после include("JSON.php");
#
Вот незадача, а я так обрадовался что заработает, вставил код и в результате
JSON DATA ERROR :

Warning: Missing argument 2 for json_decode(), called in /var/www/vhosts/life-miracle.ru/httpdocs/plugins/editors/jce/libraries/classes/plugin.php on line 879 and defined in /var/www/vhosts/site.ru/httpdocs/plugins/editors/jce/libraries/classes/plugin.php on line 12



Notice: Undefined variable: bool in /var/www/vhosts/site.ru/httpdocs/plugins/editors/jce/libraries/classes/plugin.php on line 13

{"result":[{"folders":[{"id":"index.php?option=com_content&view=section&id=1","url":"&q
uot;,"name":"\u041c\u0415\u041d\u042e","class":"folder content"},{"id":"index.php?option=com_content&view=section&id=2","url":"","name":"
\u041d\u041e\u0412\u041e\u0421\u0422\u0418","class":"folder content"},{"id":"option=com_content&view=uncategorized","url":"","name":"Uncategor
ized","class":"folder content nolink"}]}]}

скажу честно, мне это ничего не говорит , надеюсь на Вашу помощь. СПАСИБО !
#
Странно потому что если мне не изменяет память то в JCE есть этот класс JSON который и предусмотрен на случай когда пхп не поддерживает его, посему Вам этот хак не нужен.

1) Очистите кэш, не помогло? тогда п.2
2) Обновить JCE http://www.joomlacontenteditor.net/downloads/editor/joomla15x
#
igor_veselov,
Не помогло....
а может данная ошибка возникать если у хостера
Версия PHP: 5.1.6 я нашёл материал , что она должна быть >= 5.2 Так ?
#
Нет, там в http://www.joomlacontenteditor.net/requirements что нужно PHP5 и класс JSON вложен в плагин. У Вас проблема в чем-то другом
#
Решение проблемы найдено !!! Удалил старую версию 1577 и установил 15710 , с одним НО, файлы удалял вручную через FileZilla , т.к. заметил что после стандартной процедуры удаления (Расширения - Установить - Удалить - Компоненты
там выделить JCE и нажать Удалить) удаляются не все файлы, вернее файлы все а вот коренные папки остаются такие как,
administrator/components/com_jce
components/com_jce
plugins/editors/jce
И вот только после ручного удаления этих папок
ВСЁ ВСТАЛО И ЗАРАБОТАЛО !!!
#
Большое спасибо за совет! Версия PHP Version 5.2.10, но пришлось JSON подключить на хостинге, всё заработало.
Оставить комментарий
Вверх