2011-12-06 60 views
4

首先我的設置: PHP 5.3.2 - 與Suoshin和XCache將 的lighttpd/1.4.26json_encode - PHP給uncomplete JSON字符串

我的代碼是太多,張貼在這裏。我會描述它。

文件x.php正在加載一些PHP - Classe,初始化它們,執行一些函數 - >得到一個Result數組。

如果我print_r這個數組,我會得到一個完整的結果。

但我使用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 

的問題是我怎麼可以跟蹤什麼錯誤?或者任何人都知道什麼是問題?

+0

它「削減」的位置是什麼? –

+0

它每次都是相同的位置,但沒有什麼特別的,只是正常的字符串,沒有特殊的字符或utf8的東西在剪切周圍。 – MnomrAKostelAni

+0

雖然是什麼位置? –

回答

2

聽起來像一個緩衝問題。確保在連接關閉之前刷新響應緩衝區。

+0

謝謝。這修復了無效的JSON問題。但PHP錯誤仍在... – MnomrAKostelAni