json_encode - PHP выдает неполную строку json - PullRequest
4 голосов
/ 06 декабря 2011

Первая моя настройка: PHP 5.3.2 - с Suoshin и xCache lighttpd / 1.4.26

Мой код слишком велик, чтобы публиковать его здесь. Я опишу это.

Файл x.php загружает некоторые PHP - Classe, инициализирует их, выполняет некоторые функции -> получает массив Result.

Если я напечатаю этот массив, я получу полный результат.

Но я использую json_encode, он обрезает его каждый раз на одной и той же позиции. -> JSON становится недействительным.
Пример: print_r-

Array
(
    [test1] => Array
        (
            [test2] => 2
            [test3] => Array
                (
                    [test4] => 4
                )

        )

)

JSON -

{"test1":{"test2":2,"test3":{"te

Журнал ошибок говорит следующее:

(mod_fastcgi.c.2582) unexpected end-of-file (perhaps the fastcgi process died): pid: 16708 socket: unix:/tmp/php5.socket-1
(mod_fastcgi.c.3382) response already sent out, but backend returned error on socket: unix:/tmp/php5.socket-1 for /x.php?, terminating connection

Вопрос в том, как я могу отследить, в чем ошибка? Или кто-нибудь знает в чем проблема?

1 Ответ

2 голосов
/ 06 декабря 2011

Похоже на проблему буферизации. Убедитесь, что ваш буфер ответов очищен перед закрытием соединения.

...