Добрый день!
В Yii2 консольное приложение использует официальный HTTP клиент (описан тут -
https://habrahabr.ru/post/304584/)class SocketController extends Controller
{
public function actionIndex() {
$response = $this->client->createRequest()
->setFormat(Client::FORMAT_URLENCODED)
->setUrl($URL)
->setOptions([ 'timeout' => 5 ])
->send();
}
}
Вызываем -
./yii socket
При тайм-ауте вываливается с ошибкой.
Exception 'yii\httpclient\Exception' with message 'Curl error: #28 - Operation timed out after 5001 milliseconds with 0 bytes received'
in /www/project/vendor/yiisoft/yii2-httpclient/CurlTransport.php:57
Если в web-приложении можно установить обработчик ошибок в конфиге -
'errorHandler' => [
'errorAction' => 'site/error',
],
то в консольном приложении это не работает -
Setting unknown property: yii\console\ErrorHandler::errorAction
Как перехватить ошибку, чтоб не вываливался в консоль, а как-то можно было обработать, что-то сделать и т.п.?
Спасибо!