2014-03-01 33 views
1

我們有兩臺服務器,一臺本地開發和一臺實時服務器。我們的本地服務器運行PHP 5.4,我們的活動服務器運行PHP 5.5.3。JSON_NUMERIC_CHECK根本無法工作

我們的圖表數據不起作用,經過仔細檢查後,json_encode()提供的數值數據中有引號。顯然,第一個端口是確保將JSON_NUMERIC_CHECK設置爲第二個參數。問題是,設置了JSON_NUMERIC_CHECK,並且來自json_encode()的數據在dev服務器(數字數據中沒有引號)上是正確的,但沒有引用live(數字數據),所以看起來JSON_NUMERIC_CHECK不起作用。我檢查了我的日誌,沒有線索,我根本沒有想法。我用google搜索了一下,什麼也沒有。

我是否缺少PHP擴展或其他?所有更新都安裝完畢,難倒了。下面的代碼片段,雖然我看不出有任何幫助。

// Provides an array of objects, tested, data is fine here 
$data = new graph_data(); 
$json_data = json_encode($data, JSON_NUMERIC_CHECK); 

//... Further down the application 
echo $json_data; 

回答

1

我已經解決了這個問題。如果有其他人遇到這種情況,其真的很簡單(我不相信我一開始沒有這樣做!)

您需要安裝一個名爲'php5-json'的軟件包,使用常用命令:

sudo apt-get install php5-json 

謝謝 Ste。