【发布时间】:2018-07-10 23:03:07
【问题描述】:
Error
ErrorException: array_merge(): Argument #1 is not an array in /my/server/vendor/podio/podio-php/lib/PodioObject.php:200
Stack trace:
#0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'array_merge(): ...', '/my/server/...', 200, Array)
#1 /my/server/vendor/podio/podio-php/lib/PodioObject.php(200): array_merge(NULL, Array)
#2 /my/server/vendor/podio/podio-php/models/PodioApp.php(39): PodioObject::member(Object(PodioResponse))
#3 /my/path.php(413): PodioApp::get(xxxxxxx)
这似乎是 Podio PHP SDK 或 Podio API 的错误。 json_response(导致 array_merge 错误)为空,但 http 响应为 200。我无法让它定期发生,但它在运行 30 次调用的脚本上大约有 10% 的时间发生。我可以直接从文档中运行 GetApp 调用。
我知道这是响应错误,因为我的脚本在每次重新运行时会在不同位置中断,具体取决于未从 API 正确加载的数据。
测试 1:第 344 行出现异常,因为 $app1 为空
测试 2:第 814 行出现异常,因为 $app3 为空
等等……
这是一个未修改的脚本,已经使用了 6 个多月,但上周某个时候停止工作。
编辑:我还确认 cURL 也会出现同样的错误,因此这不是 SDK 特定的问题。
【问题讨论】:
-
您能分享可以重现此问题的示例 php 代码吗? (当然没有您的 clientID/clientSecret 和其他私人/机密信息)
-
我可以通过运行 \PodioApp::get($app); 重现它例如,其中 $app 是... 19641970、19641961、18706934 之一。如果您创建一个包含这些应用程序的数组,运行 app::get 调用 50 次,您将能够重现该错误。我已经使用多个用户 access_tokens 帐户进行了测试。谢谢!