El tema de ese "HTML" que ves de más .. en PHP por ejemplo hay directivas como:
Cita: ; String to output before an error message.
;error_prepend_string = "<font color=ff0000>"
; String to output after an error message.
;error_append_string = "</font>"
Realmente no ví más mi php.ini .. Pero que "formatea" en HTML el mensaje de erro si lo hay PHP .. lo hace (y/o por alguna directiva más se puede desactivar como ya te comenté).
Ahora, .. no sé si IIS también hace lo suyo (no lo he usando nunca y menos configurado).
Consejo:
¿Por qué no usas Apache como servidor HTTP? .. Se que IIS ya lo tienes instalado .. pero realmente Apache bajo mi punto de vista es mejor para correr PHP .. si no hay otro impedimiento (por ejemplo que tengas que correr aplicaciones en ASP) deberías replantearte usar otro servidor HTTP en lugar de IIS.
Cita: (Pero como ves no uso ruta absoluta física y creo que así el código es más portable)
Si tienes esa estructura física de directorios y donde "portes" esa aplicación (a otro servidor) la respetas .. OK .. usa rutas relativas (../../). De todas formas el tema de una ruta absoluta no es que tengas que "poner" a mano tu ruta absoluta. En PHP tienes variables de servidor (accesibles por $_SERVER array) que te entregan esa información ..
Por ejemplo:
$_SERVER['DOCUMENT_ROOT'] ..
Y también hay constantes.
http://www.php.net/reserved.variables
Un saludo,