мы в настоящее время используем CakePHP 2.4.7 и собственный обработчик ошибок. Пользовательский обработчик ошибок отлично работает для каждого запроса, сделанного через HTTP или через CronDispatcher. К сожалению, при запросе консоли на один из наших команд консоли обработчик ошибок игнорируется. См. Следующий пример: core.php: App::uses('SentryErrorHandler', 'Sentry.Lib'); Configure::write('Sentry', array( //'production_only' => true, // true is default value […]
У меня есть PHP-скрипт с двумя преднамеренными ошибками typo в инструкции для SQL-запроса: try { $stmt = $dbh->prepare("SELECT COUNT(*) FROM Product WHERE non-existent_column=?"); $stmt->blindValue(1, $id, PDO::PARAM_INT); $stmt->execute(); $row = $stmt->fetchColumn(); } catch(PDOException $err) { var_dump($err->getMessage()); var_dump($dbh->errorInfo()); } Однако скрипт не PDO::ERRMODE_EXCEPTION ошибку даже после установки атрибута PDO::ERRMODE_EXCEPTION . Что мне здесь не хватает? ОБНОВИТЬ: Это […]
Как настроить сообщения об ошибках (например, "These credentials do not match our records." ), которые отображаются при неудачной регистрации / регистрации без необходимости касаться файлов фундамента? Я ищу решение и, надеюсь, элегантный, по крайней мере, не касаясь AuthenticatesAndRegistersUsers и ThrottlesLogins 🙂 Я использую AuthController и формы, предоставленные Laravel после выполнения: php artisan make: auth контроллер: […]
Привет, ребята, я работаю с картой Zend и просто ненавижу тот факт, что я, кажется, сталкиваюсь со многими ошибками исключения, например, если я пытаюсь ссылаться на несуществующее свойство объекта, которое мое приложение просто умирает и падает. Однако я не знаю, где можно увидеть эти ошибки или как их отображать на экране. Я установил ошибки отображения […]
В Laravel 4 было достаточно легко подавить сообщения E_NOTICE; Кажется, я не могу это сделать, потому что, если я добавлю error_reporting(E_ALL ^ E_NOTICE) везде он просто становится переопределенным. Кажется, это происходит здесь: (index.php) $response = $kernel->handle( $request = Illuminate\Http\Request::capture() ); Я добавил пользовательский код для обработки более «хороших» представлений об исключениях / ошибках в Exceptions […]
У меня есть скрипт с обработчиком исключений. Этот обработчик исключений очищает пару подключений, прежде чем скрипт выйдет после исключения. Я хотел бы перебросить исключение из этого обработчика исключений, чтобы он обрабатывался собственным обработчиком исключительных событий PHP, где ошибка записывается в журнал ошибок PHP или по умолчанию, как это указано в PHP.ini. К сожалению, это не […]
Пример №1 bschaeffer's на этот вопрос – в его последнем примере: $this->load->model('table'); $data = $this->table->some_func(); $this->load->view('view', $data); Как вы справляетесь с этим, когда 'table' не существует? Пример №2 try { $this->load->model('serve_' . $model_name, 'my_model'); $this->my_model->my_fcn($prams); // Model Exists } catch (Exception $e) { // Model does NOT Exist } Но все же после запуска этого […]
Мне было интересно, не считается ли это плохой практикой глобально преобразовывать все ошибки PHP в исключения. Будет использовано следующее: function exception_error_handler($errno, $errstr, $errfile, $errline ) { throw new ErrorException($errstr, 0, $errno, $errfile, $errline); return false; } Предполагаю, что вы можете просто начать использовать «try / catch» вокруг определенных фрагментов кода, которые обычно генерируют ошибки. Если […]
PHP фатальные ошибки возвращаются в качестве кода состояния 200 для HTTP-клиента. Как я могу заставить его вернуть код состояния 500 (Внутренняя ошибка сервера)?
У меня есть приложение CodeIgniter, которое обычно работает так, как хотелось бы, но иногда пользователь переходит на страницу, которая не существует, и встречается с недружественной ошибкой. Я хотел бы автоматически обнаружить ошибку и отобразить полезную информацию для пользователя (а не ошибки PHP). Я прочитал руководство пользователя CodeIgniter, но я не смог найти соответствующий раздел. Как […]