Cita:
Empezado por Ñuño Martínez
Me parece muy raro que un error tan antiguo (2.015) no haya sido corregido todavía, y menos en una biblioteca tan usada como esta.
De todas formas, ¿seguro que para el programa sin más? ¿Estás ejecutando con todas las opciones de depuración activadas para que te muestre toda la información posible? [edit] ¿Qué versión de PHP estás usando? Porque dice que el error está arreglado y sólo afecta a un par de versiones viejas.
|
Gracias
Ñuño Martínez por responder!!
La versión de PHP de mi servidor es la 5.6.32 de fecha 26/10/2017, es verdad que no es la ultima, pero se supone que dicho BUGS esta ya solventado en esa versión, pues según la documentación se aplico a partir de la versión 5.6.25 de fecha 18/08/2016. De todas formas ya he abierto tickets para que actualicen la versión del hosting.
En cualquier caso ejecuto con todas las opciones de depuración, y se sigue deteniendo.
La solución que he aplicado momentáneamente es capturar cuando finaliza el script y analizar si se ha producido una excepción de tipo E_ERROR y en tal caso borrar el fichero. Este es el método:
Código PHP:
register_shutdown_function('fatalErrorShutdownHandler');
function fatalErrorShutdownHandler() {
global $filename;
$last_error = error_get_last();
if ($last_error['type'] === E_ERROR && ($filename != '') ) {
if ( !unlink ( $filename ) ) {
echo "{$filename} no se ha podido eliminar";
} else {
echo "{$filename} eliminado";
}
}
}
No es la solución mas optima, pero al menos para la siguiente vez que se ejecute el script ya no se volverá a detenerse en el mismo fichero.