我有以下问题:在我的本地开发服务器 PHP 5.3.10 / Apache 2 上,一切正常。当我使用生产服务器 PHP 版本 5.2.13 / Apache 2 运行相同的代码时,代码会失败,但在某些情况下并非总是如此。
更多细节 :
上下文:我在屏幕上有一个可以更新的 dojox.data.grid 表。修改后的数据以 JSON 字符串的形式正确传递给服务器。像这样 :
data = {
"deletedItems":{}
,"newItems":{}
,"modifiedItems":{
"2890":{"idFacture":"2890"
,"idClient":"175"
,"idAffaire":"1323"
,"idContrat":"2234"
,"raisonSociale":"xxxxxx"
,"nomAffaire":"xxxxxx"
,"nrFacture":"xxxxx"
,"dateFacture":"2012-12-06"
,"montantFacture":"160000.00"
,"pourcentageFacture":"64.88"
,"pourcentageCalcule":"32.44"
,"noteFacture":""
,"dateTransfert":""
,"aTransferer":true
,"typeDocument":"Facture"
,"factureSoldee":false
,"montantTotalHeures":"0.00"
,"pourcentageTotalHeures":"0.00"
,"montantTotalMateriel":"0.00"
,"pourcentageTotalMateriel":"0.00"
,"montantTotalSousTraitance":"160000.00"
,"pourcentageTotalSousTraitance":"40.94"
}
,"2892":{"idFacture":"2892"
,"idClient":"50"
,"idAffaire":"1649"
,"idContrat":"2713"
,"raisonSociale":"xxxxx"
,"nomAffaire":"xxxxx"
,"nrFacture":"xxxxx"
,"dateFacture":"2012-12-07"
,"montantFacture":"12004.50"
,"pourcentageFacture":"0.00"
,"pourcentageCalcule":"41.94"
,"noteFacture":""
,"dateTransfert":""
,"aTransferer":true
,"typeDocument":"Facture"
,"factureSoldee":false
,"montantTotalHeures":"12004.50"
,"pourcentageTotalHeures":"41.95"
,"montantTotalMateriel":"0.00"
,"pourcentageTotalMateriel":"0.00"
,"montantTotalSousTraitance":"0.00"
,"pourcentageTotalSousTraitance":"0.00"
}
}
}
可以看到数据包含三个元素“deletedItems”(空)、“createdItems”(空)和“modifiedItems”。
在 php 代码中,我有以下命令:
$srvJson = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
$data = $srvJson->decode($data);
$data 像上面那样填充的地方。通常在最后一条语句之后设置以下 PHP 变量:
- $数据[“已删除项目”]
- $data["createdItems"]
- $data["modifiedItems"]
这是问题所在:如果在生产服务器上表中有很多修改的行(大约> 30),则修改后的数据正确传递给服务器但是 $data["modifiedItems"] 没有设置???如果我只是为几行修改数据集,$data["modifiedItems"] 就设置好了。我可以逐个修改整个数据集,但不能一次性修改整个数据集。
我想这是服务器设置的问题,但是什么?
我会很感激任何建议。
此致,
罗杰
PS:对不起我的英语