Una funzione di error handling definita in un file php che non si compila non potrà di certo essere richiamata su errore di compilazione...
Detto in altri termini:
1)php carica questo tuo file
2)php cerca di compilarlo e non ci riesce
3)php termina
FORSE, e dico forse, potrebbe funzionare se a contenere l'errore di parsing fosse un file che includi in un file PRIVO di errori di parsing che definisce l'error handler:
set_error_handler(...);
include("file_con_errore.php");
Ma anche in questo caso, secondo me ha utilità ZERO cercare di trappare gli errori di compilazione da dentro php: semplicemente, PRIMA di mettere in produzione uno script lo avrai testato sulla tua macchina da sviluppo, correggendo quindi prima tutti gli errori fatali di compilazione, no?
In più, se proprio vuoi, puoi sempre chiedere a php stesso di compilare uno script senza eseguirlo:
C:\Program Files\Php55\php-win.exe -l %File%
Ti compila il file mostrando gli eventuali errori fatali senza eseguirlo.