La variabile $php_errormsg è avvalorata solo se la direttiva

track_errors = On

ha valore on. Essa, ovviamente si trova in php.ini. Se non sbaglio con il comando ini_set puoi cambiare il valore di tale direttiva (solo per la pagina php ke attualmente è in esecuzione)

Quindi, potresti fare:

<?php
ini_set("track_errors", "1");
//mio codice
?>

Prova a vedere se così $php_errormsg viene avvalorata.