2016-06-29 5 views
1

Я запускаю 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, но это необходимо. Я не понял этого, пока не посмотрел в журнал. Я ожидал бы, что ошибка будет пузыриться, чтобы я мог поймать ее в моем сценарии.

Кто-нибудь знает, как сделать эти ошибки пузырьками?

ответ

0

Active Collab довольно «скрыт» относительно отладочной информации при работе в режиме производства. Чтобы зарегистрировать точную ошибку, используйте режим отладки.

Чтобы включить режим отладки, откройте Активный Collab-х config/config.php и добавить:

const APPLICATION_MODE = 'debug'; 

в блоке, в котором определены другие параметры. Обратите внимание, что в некоторых случаях у вас может быть константа APPLICATION_MODE, определенная в config/config.php, поэтому сначала найдите ее.

+0

Да, когда я включаю отладку, я вижу ошибку в файле журнала. Мой вопрос: почему API не вызывает исключение, если в журнале есть ошибка? Какова цель ваших демоверсий с операторами try/catch, если исключения не возникают? Я попробовал одно и то же с дублирующимся названием компании, и вызов API вышел из строя. –

+0

Когда Active Collab находится в режиме отладки, ответ JSON 500 должен быть расширен с подробными сведениями об исключении. Точная ошибка, о которой вы упоминаете, является тем, что мы также заметили при работе над этим: https://github.com/activecollab/taskform (еще не сделано), и мы нашли его в ответе (я не помню, чтобы проходить журналы чтобы узнать, почему запрос был отклонен). – Ilija

 Смежные вопросы

  • Нет связанных вопросов^_^