Кажется, я нашел ошибку, чтобы php7.0.3, но я не уверен, что, вероятно, проблема на моей стороне, так что я решил написать здесь первыйPHP7 set_exception_handler и set_error_handler обратные вызовы смешиваются
я недавно обновил свой версия сервера php
к в php7.0.3
, и, конечно, не было ошибок около устаревшего метода и т.д. я был закрепляющие их один за другим, пока я пришел к этому один
Uncaught TypeError: Argument 1 passed to Debug::_exceptionHandler() must be an instance of Exception, instance of Error given in SomePath\Debug.php:518 Stack trace: #0 [internal function]: Debug::_exceptionHandler(Object(Error)) #1 {main} thrown
я проверил Debug
класс и нашел там set_exception_handler
и set_error_handler
звонки в function enable()
public static function enable(..some params..){
...
set_exception_handler(array(__CLASS__, '_exceptionHandler'));
set_error_handler(array(__CLASS__, '_errorHandler'));
}
// where _exceptionHandler function defined as
public static function _exceptionHandler(Exception $exception)
{ ... }
// and _errorHandler defined as
public static function _errorHandler($severity, $message, $file, $line, $context)
{ ... }
Собственно ошибка ясно для меня это говорит, что он не может передать Error
объект типа к _exceptionHandler
как это excepts Exception
типа, но Вопрос является Почему он пытается передать его _exceptionHandler
вместо _errorHandler
как он также определен? это ошибка или я что-то упустил в определении error
и exception
обработчиков?
Примечание: я пытался играть с set_error_handler
передать его в качестве второго аргумента E_ALL
и т.д., но отмечая помогает ...
я получил ошибку, которая была брошенную и должны быть обработаны с помощью _errorHandler
, но вместо этого обрабатывается _exceptionHandler
было
Uncaught Error: Call to undefined function set_magic_quotes_runtime() in SomePath...
Может кто-нибудь помочь мне с этим?
Благодаря
На самом деле я проверил страницу 'set_exception_handler' и заметил это сообщение, теперь я получил его и понял причину спасибо – Armen