Mobyman
@Mobyman

JSON не работает в PHP?

Здравствуйте, уважаемое хабрасообщество.

У меня возникла проблема, очень надеюсь, что нам ее удастся решить.


А проблема заключается в том, что функции json_encode() и json_decode() у меня на хостинге не работают.


При обычном использовании возникает ошибка:

Fatal error: Call to undefined function json_encode() in ***.php



При использовании хелпера для Code Igniter, возникает ошибка:

Message: Undefined variable: json

Filename: helpers/json_helper.php

Line Number: 53

Fatal error: Call to a member function encode() on a non-object in ...\system\application\helpers\json_helper.php on line 53
  • Вопрос задан
  • 14857 просмотров
Пригласить эксперта
Ответы на вопрос 7
Mobyman
@Mobyman Автор вопроса
Нашел себе альтернативу, если кто вдруг столкнется с тем же. Всем спасибо.
Ответ написан
Nodge
@Nodge
Если есть возможность, то лучше обновить php до версии 5.2 или 5.3, тогда будут работать функции json_encode() и json_decode().

Иначе нужно смотреть что там за не объявленная переменная в CI, либо использовать другие реализации данных функций.
Ответ написан
MTonly
@MTonly
Веб-разработчик с 2002 года
Пишите в техническую поддержку хостинг-провайдера, чтобы они скомпилировали полноценную (с включённым расширением JSON) версию PHP.
Ответ написан
Комментировать
В крайнем случае, можно самому написать аналоги функций json_encode() и json_decode(), если нет возможности поменять хостера и/или поставку php.
Ответ написан
Комментировать
Ответ написан
Комментировать
@Nc_Soft
Других велосипедов чтоли мало? А лучше бросайте такой хостинг.
Ответ написан
Комментировать
zizop
@zizop
В данном случае как выход (без разборок с хостером) могу порекомендовать воспользоваться классов
Zend_Json_Encoder и объявить функции json_encode() и json_decode() в глобальной области видимости, внутри которых соответственно производить вызов Zend_Json_Encoder::encode()/decode().
Метод конечно топорный, но если другого варианта нет, то можно попробывать.
См. framework.zend.com/manual/en/zend.json.basics.html
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы