Ok, this is a bit weird...
something must have changed (although to my knowledge nothing has) on my development server that now results in all warnings (E_WARNING, E_USER_WARNING) being thrown as exceptions (standard "Exception"). This affects ALL sites on the server!?
Not that long ago, regular warnings (E_WARNING) were triggered as normal.
I can override this if I set my own error handler, but otherwise there is no custom error handler being set. In fact, set_error_handler() returns NULL which indicates that the built-in error handler is being used. (But the built-in error handler should not be throwing exceptions!?)
I have recently been using mysqli_report to throw mysqli_sql_exception instead of warnings for mysqli errors. However, turning this off (MYSQLI_REPORT_OFF) has no effect on this problem. Base "Exceptions" (not a mysqli_sql_exception) are still thrown for non-mysqli warnings.
// Enables mysqli errors to be thrown as mysqli_sql_exception instead of warnings
mysqli_report(MYSQLI_REPORT_ALL);
Any ideas?!