Внутренняя ошибка сервера при декодировании файла JSON - PullRequest
0 голосов
/ 28 февраля 2012

Я открываю файл JSON и декодирую его содержимое, чтобы я мог вставить его в свою базу данных, используя MySQL:

[{"publisher": "some publisher", "img": "url to image", "title": "some title", "platform": "some platform", "year": "2012", "genre": "some genre", "desc": "this is the description", "id": "1", "developer": "some developer"}]

Это всего лишь одна из записей в файле. Файл JSON содержит более 10000 из них. Я получаю внутренний сервер при использовании json_decode($file). Чтение файла и var_dump($file) работает просто отлично. Итак, мой вопрос, это хороший файл JSON? Или как я могу декодировать и вставить его в базу данных?

Заранее спасибо.

Ответы [ 4 ]

4 голосов
/ 28 февраля 2012

Если файл настолько большой, возможно, php не хватает памяти или времени выполнения, но, как уже было сказано, начните с просмотра файлов журнала.

2 голосов
/ 28 февраля 2012

Опять же, вам нужны ошибки, но в отличие от других, заявляющих, что они смотрят на файл журнала, я понимаю, что иногда вы не можете использовать определенные хосты, например,

Чтобы ваш скрипт отображал ошибку, используйте

error_reporting(2047); 
ini_set("display_errors",1);

Если вы получаете ошибку памяти, используйте ini_set('memory_limit', '128M');

Это должно позволить это, если нет или выдается ошибка, потому что для вызова ini_set вам нужно связаться с хостом вашего сервера и попросить их выделить больше памяти

1 голос
/ 11 декабря 2013

У меня была такая же ошибка.Я исправил это, изменив мой код json_decode($whatever) на json_decode($whatever, TRUE).Надеюсь, это кому-нибудь поможет.

1 голос
/ 28 февраля 2012

В этом фрагменте JSON нет ничего плохого.

Вы должны посмотреть на конкретное сообщение об ошибке (либо запустив PHP за пределами веб-сервера, либо просмотрев его в журналах ошибок). Внутренняя ошибка сервера просто означает «что-то пошло не так, администратор / разработчик должен посмотреть журналы».

...