Categorías: Noticias

Oculta la información de errores y “warnings” en PHP

En ocasiones por comodidad, y sobre todo para ahorrarnos dar más información de la cuenta de cara a la seguridad y a que aparezcan mensajes de errores en la pantalla del cliente, es preferible ocultar la información de depuración que nos devuelve el intérprete PHP mediante las típicas líneas de error y warning.

La forma más cómoda para hacerlo instrucción a instrucción es el uso del prefijo @ delante de la misma. El error o warning seguirá existiendo pero no se generará una salida HTML describiéndola.

Por ejemplo, intentaremos borrar el fichero contenido en la variable $fichero

unlink($fichero);

Si el fichero no existe, aparecería un error por pantalla que si ponemos esto:

@unlink($fichero);

No aparecerá. Si la operación de borrado del fichero es para asegurarnos y si no existe hemos conseguido lo que queríamos, nos ahorraremos unas cuantas líneas de código que escribir.

F. Javier Carazo Gil

Cofundador de CODECTION, empresa especializada en WordPress, autor de un libro sobre WordPress (el primero en español) y multitud de artículos (en medios físicos y virtuales) sobre el tema. Participa en la comunidad WordPress de forma activa siendo parte del equipo organizador de la WordPress Meetup de Córdoba, dando charlas en diferentes WordCamp y siendo autor y coautor de multitud de plugins libres y premium para WordPress de gran éxito.

Ver comentarios

  • No se debe usar @unlink en lugar de unlink, a menos que estés estés comprobando el valor de retorno de unlink() para tomar la decisión que haga falta.

    Lo que quieres hacer en tu caso es desactivar la directiva display_errors en php.ini, mandando los errores exclusivamente al fichero de log, nunca a la pantalla del usuario:
    Como bien dice el manual:
    "Note: This is a feature to support your development and should never be used on production systems (e.g. systems connected to the internet). "
    -- http://www.php.net/manual/es/errorfunc.configuration.php#ini.display-errors

  • @Keisial: Sé que no es la manera más ortodoxa de hacerlo y para un sistema en producción la forma es la que tu dices, pero es una alternativa más a tener en cuenta.

Entradas recientes

DeepSeek

2 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

4 semanas hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace