2016-06-29 10 views
1

私は、Active Collab 5.8.7をPHP 5.6で実行しています。私はAPIを使用して会社とユーザーを作成しています。 APIは動作しますが、エラーがあれば、エラーは呼び出し元のPHPスクリプトにバブルアップしません。私はhereで概説されているアプローチを使用しています。アクティブコラボAPI例外処理

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コラボconfig.phpでデバッグをオンにし、ログファイルを見ています。たとえば、上記の例では、task_list_idが不足していますが、必須です。ログを見るまで、私はそれを理解していませんでした。私はそのエラーが私のスクリプトでそれをキャッチできるようにバブルアップすると期待します。

誰でもこれらのエラーをバブルアップする方法を知っていますか?

答えて

0

Active Collabは、本番モードで実行しているときにデバッグ情報についてかなり秘密です。正確なエラーをログに記録するには、デバッグモードを使用します。

const APPLICATION_MODE = 'debug'; 

他の設定が定義されているブロックに:デバッグモード、オープンアクティブコラボのconfig/config.phpをオンにして追加するには

。場合によってはAPPLICATION_MODE定数がconfig/config.phpに定義されている可能性がありますので、まずそれを探してください。

+0

はいデバッグをオンにすると、ログファイルにエラーが表示されます。私の質問は、なぜログにエラーがあるときにAPIが例外を発生させないのですか?例外が発生していない場合、try/catchステートメントでデモの目的は何ですか?重複した会社名で同じことを試みましたが、API呼び出しが黙って失敗しました。 –

+0

アクティブコラボがデバッグモードの場合、JSON 500レスポンスを例外の詳細で拡張する必要があります。あなたが言及している正確なエラーは、私たちがこれに取り組んでいる間に気づいたものです:https://github.com/activecollab/taskform(まだ完了していません)、私たちはそれを応答で見つけました。要求が拒否された理由を調べる)。 – Ilija