【问题标题】:Active Collab API Exception HandlingActive Collab API 异常处理
【发布时间】:2016-06-29 15:42:02
【问题描述】:

我正在运行 Active Collab 5.8.7 和 PHP 5.6。我正在使用 API 创建公司和用户。 API 有效,但如果有任何错误,错误不会冒泡到调用 PHP 脚本。我正在使用here 概述的方法。

try {
    $client->post('projects/65/tasks', [
      'name' => 'This is a task name',
      'assignee_id' => 48
    ]);
} catch(AppException $e) {
    print $e->getMessage() . '<br><br>';
    // var_dump($e->getServerResponse()); (need more info?)
}

我可以捕获错误的唯一方法是在 Active Collab config.php 中打开调试并查看日志文件。例如,在上面的示例中,task_list_id 缺失但它是必需的。直到我查看日志才知道这一点。我希望该错误会冒泡,以便我可以在脚本中捕获它。

有人知道如何让这些错误冒泡吗?

【问题讨论】:

    标签: php exception-handling activecollab


    【解决方案1】:

    Active Collab 在生产模式下运行时对调试信息非常“保密”。要记录确切的错误,请使用调试模式。

    要打开调试模式,请打开 Active Collab 的 config/config.php 并添加:

    const APPLICATION_MODE = 'debug';
    

    在定义其他设置的块中。请注意,在某些情况下,您可能已经在 config/config.php 中定义了 APPLICATION_MODE 常量,因此请先查找它。

    【讨论】:

    • 是的,当我打开调试时,我可以在日志文件中看到错误。我的问题是为什么当日志中有错误时 API 不会引发异常?如果没有引发异常,您使用 try/catch 语句进行演示的目的是什么?我用重复的公司名称尝试了同样的事情,但 API 调用无声无息地失败了。
    • 当 Active Collab 处于调试模式时,应使用异常详细信息扩展 JSON 500 响应。您提到的确切错误是我们在处理此问题时也注意到的:github.com/activecollab/taskform(尚未完成),我们在响应中找到了它(我不记得通过日志找出请求被拒绝的原因)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    • 2017-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多