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.