我最近完成了將我的Parse PHP應用程序遷移到Google Cloud託管的分析服務器的過程。此後,在大多數情況下,批量操作(如ParseObject::saveAll()
,ParseObject::destroyAll()
等)開始失敗。我正在考慮將此報告爲GitHub上的錯誤,但我想確保它不僅僅是我的實例。遷移後無法執行批處理操作
我甚至無法重現GitHub PHP SDK test code for destroyAll:
...
$o1 = ParseObject::create('TestObject');
$o2 = ParseObject::create('TestObject');
$o3 = ParseObject::create('TestObject');
ParseObject::saveAll([$o1, $o2, $o3]);
ParseObject::destroyAll([$o1, $o2, $o3]);
...
無論這個代碼和批處理操作的我的應用程序的使用會引發以下的PHP類型的異常(在本例中,錯誤是由白水拋出) :
未捕獲的異常 '解析\ ParseException的' 與消息 '不能路由批次路徑/ 1 /類/的TestObject'
調試顯示分析服務器返回錯誤代碼107根據the documentation表示無效的JSON。我不熟悉REST API,但是對於此示例,發送的數據是
{「requests」:[{「method」:「POST」,「path」:「/ 1/classes /的TestObject」, 「體」:[]},{ 「方法」: 「POST」, 「路徑」: 「/ 1 /類/的TestObject」, 「體」:[]},{ 「方法」: 「POST」, 「path」:「/ 1/classes/TestObject」,「body」:[]}]}
哪個是有效的JSON。
批處理操作在遷移前正常工作。 PHP版本是5.6。任何幫助表示讚賞。如果錯誤可以複製,我會在GitHub上創建一個問題。
嘗試刪除「/ 1」 – xissburg
@xissburg感謝您的回覆,但這沒有什麼區別。我刪除了「/ 1」和「/ 1 /」,錯誤是一樣的。我很難理解可能導致錯誤的原因。 – lipusal