我最近完成了将Parse PHP应用程序迁移到Google Cloud托管的Parse Server.此后,像批处理动作ParseObject::saveAll(),ParseObject::destroyAll()等开始便无法大多数情况下.我正在考虑将此报告为GitHub上的错误,但我想确保它不仅仅是我的实例.
我甚至无法为destroyAll重现GitHub PHP SDK测试代码:
...
$o1 = ParseObject::create('TestObject');
$o2 = ParseObject::create('TestObject');
$o3 = ParseObject::create('TestObject');
ParseObject::saveAll([$o1, $o2, $o3]);
ParseObject::destroyAll([$o1, $o2, $o3]);
...
Run Code Online (Sandbox Code Playgroud)
这段代码和我的应用程序对批处理操作的使用都会在PHP上抛出以下类型的异常(在此示例中,saveAll抛出错误):
未捕获的异常'Parse\ParseException',消息'无法路由批处理路径/ 1/classes/TestObject'
调试显示Parse Server返回错误代码107,根据文档意味着无效JSON.我不熟悉REST API,但是对于这个例子,发送的数据是
{ "请求":[{ "方法": "POST", "路径": "/ 1 /类/的TestObject", "体":[]},{ "方法": "POST", "路径":"/1 /类/的TestObject", "体":[]},{ "方法": "POST", "路径": "/ 1 /类/的TestObject", "体":[]}]}
哪个是有效的JSON.
批量操作在迁移之前正常工作.PHP版本是5.6.任何帮助表示赞赏.如果可以重现错误,我将在GitHub上创建一个问题.