For anyone who stumbles upon this, even if you have error_reporting on you have to also set display_errors to On in your php.ini.
Correct. It is on by default though - so if you're working on production code, you have to remember to turn it back off when you're done, or better yet, work on the code in a development environment first.
Don't set the error reporting to E_ALL; don't set it to anything and it should report it then.
That's wrong. If you want to check for all levels of errors/warnings/notices, one should set error_reporting to E_ALL.
Of course, it is possible that an undefined error_reporting could be taken as E_ALL, but then being explicit is clearer.