Just to elaborate...
The reason using a coding solution such as:
error_reporting(E_ALL);
ini_set("display_errors", 1);
won't work for all errors (e.g. parse or possibly fatal errors) is because that these are statements that must be executed by PHP in order for them to have any effect. Thus, if you have a parse error in the script, PHP doesn't have the opportunity to execute those statements since it can't even properly parse your script.
That is why you should set these PHP directives before the script is even parsed. This can be achieved through modifying your php.ini file or possibly in a .htaccess file (if applicable/allowed).