Я запускаю Active Collab 5.8.7 с PHP 5.6. Я использую API для создания компании и пользователя. API работает, но если есть какие-либо ошибки, ошибки не перескакивают до вызывающего PHP-скрипта. Я использую подход, описанный here.Active Collab 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?)
}
Единственный способ, которым я могу поймать ошибки является включение отладки в активном совм config.php
и просмотра файла журнала. Например, в приведенном выше примере отсутствует task_list_id
, но это необходимо. Я не понял этого, пока не посмотрел в журнал. Я ожидал бы, что ошибка будет пузыриться, чтобы я мог поймать ее в моем сценарии.
Кто-нибудь знает, как сделать эти ошибки пузырьками?
Да, когда я включаю отладку, я вижу ошибку в файле журнала. Мой вопрос: почему API не вызывает исключение, если в журнале есть ошибка? Какова цель ваших демоверсий с операторами try/catch, если исключения не возникают? Я попробовал одно и то же с дублирующимся названием компании, и вызов API вышел из строя. –
Когда Active Collab находится в режиме отладки, ответ JSON 500 должен быть расширен с подробными сведениями об исключении. Точная ошибка, о которой вы упоминаете, является тем, что мы также заметили при работе над этим: https://github.com/activecollab/taskform (еще не сделано), и мы нашли его в ответе (я не помню, чтобы проходить журналы чтобы узнать, почему запрос был отклонен). – Ilija