Foros del Web » Programando para Internet » PHP »

evitar aparicion mensajes de error php

Estas en el tema de evitar aparicion mensajes de error php en el foro de PHP en Foros del Web. Hola a todos. Mi problema es el siguiente: Tengo una página PHP que abre un socket para conectarse con un servidor que se encuentra en ...
  #1 (permalink)  
Antiguo 02/11/2007, 06:24
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años, 1 mes
Puntos: 7
Sonrisa evitar aparicion mensajes de error php

Hola a todos.

Mi problema es el siguiente:

Tengo una página PHP que abre un socket para conectarse con un servidor que se encuentra en el mismo equipo y que escucha por un determinado puerto.

Esto me funciona perfectamente.

Pero quiero que cuando el servidor no esté "corriendo" le salga al usuario un mensaje de error explicandole el motivo del fallo. Yo tenía puesto:


$Conexion = fsockopen("localhost",$puertoCliente);
if(!$Conexion){
echo "<script>";
echo "alert('No se ha podido establecer comunicación con el servidor')";
echo "</script>";
return;
}


Esto antes me funcionaba siempre. Me aparecía una ventana con el mensaje anterior. Ahora en vez eso lo que me sale es una página en blanco explicandome el motivo del error. Algo así como:


Warning: fsockopen() [function.fsockopen]: unable to connect to localhost:8000 (Se produjo un error durante el intento de conexión ya que la parte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexión establecida ya que el host conectado no ha podido responder. ) in ...............prueba.php on line 262

Fatal error: Maximum execution time of 30 seconds exceeded in ........... prueba.php on line 262


Nosé si tendrá algo que ver que halla instalado una versión mas actual del paquete AppServ (php+mysql+apache) y halla que tocar algo del fichero php.ini para que esos errores no me salgan por pantalla.

Creo que había que hacer algo asi pero ahora mismo no lo recuerdo.


Espero que alguien lo recuerde.

Saludos.
  #2 (permalink)  
Antiguo 02/11/2007, 06:46
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 5 meses
Puntos: 48
Re: evitar aparicion mensajes de error php

Tienes la directiva php display_errors en el php.ini . Asi nunca mostrara los mensajes de error.
  #3 (permalink)  
Antiguo 02/11/2007, 07:01
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 20 años, 1 mes
Puntos: 7
Re: evitar aparicion mensajes de error php

Cita:
Iniciado por DarkJ Ver Mensaje
Tienes la directiva php display_errors en el php.ini . Asi nunca mostrara los mensajes de error.

Muchas gracias. Acabo de poner dicha directiva a off y ya no me salen los errores pero curiosamente sigue sin aparecerme la ventana indicando al usuario el problema del error que he puesto
  #4 (permalink)  
Antiguo 02/11/2007, 08:06
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: evitar aparicion mensajes de error php

HOla, tambien puedes evitarlo colocando una @ delante de la funcion fsockopen(). Prueba asignando a la variable de conexion el valor 0 antes de hacerle la asignacion de la funcion, es decir algo asi:
Código PHP:
$Conexion=0;
$Conexion = @fsockopen("localhost",$puertoCliente); 
Saludos
__________________
->Aprender es un proceso que incluye el error..
  #5 (permalink)  
Antiguo 03/11/2007, 16:06
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Re: evitar aparicion mensajes de error php

No sera el tiempo maximo de ejecucion de tus scripts "Fatal error: Maximum execution time of 30 seconds exceeded in ........... prueba.php on line 262", Intentaras aumentar el tiempo limite de 30 segundos, ya que probablemente lo tenias configuarado anteriormente a un tiempo mayor y ahora como actualizaste modificaste ese parametro, modificalo chance y sea eso
  #6 (permalink)  
Antiguo 03/11/2007, 17:09
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 10 meses
Puntos: 50
Re: evitar aparicion mensajes de error php

para evitar el estar colocando en todo lado el arroba o el tener que modificar el php .ini puede colocar al principio de la pagina.

Código PHP:
// Deshabilitar todo reporte de errores
error_reporting(0); 

Ahi tiene mas opciones.
Código PHP:
<?php

// Deshabilitar todo reporte de errores
error_reporting(0);

// Errores de ejecucion simples
error_reporting(E_ERROR E_WARNING E_PARSE);

// Reportar E_NOTICE puede ser bueno tambien (para reportar variables
// no inicializadas o capturar equivocaciones en nombres de variables ...)
error_reporting(E_ERROR E_WARNING E_PARSE E_NOTICE);

// Reportar todos los errores excepto E_NOTICE
// Este es el valor predeterminado en php.ini
error_reporting(E_ALL E_NOTICE);

// Reportar todos los errores de PHP (el valor de bits 63 puede ser usado en PHP 3)
error_reporting(E_ALL);

// Lo mismo que error_reporting(E_ALL);
ini_set('error_reporting'E_ALL);

?>
  #7 (permalink)  
Antiguo 03/12/2007, 11:59
 
Fecha de Ingreso: noviembre-2002
Ubicación: Suecia
Mensajes: 253
Antigüedad: 21 años, 5 meses
Puntos: 2
Re: evitar aparicion mensajes de error php

Y como se puede hacer si uno no tiene acceso al php.ini? Por ejemplo en un webb hotel?
  #8 (permalink)  
Antiguo 03/12/2007, 12:27
 
Fecha de Ingreso: septiembre-2007
Mensajes: 220
Antigüedad: 16 años, 6 meses
Puntos: 1
Re: evitar aparicion mensajes de error php

Código PHP:
ini_set('max_execution_time'200);

$conexion = @fsockopen('localhost'80$errno$errstr);
if (
$conexion === false)
{
    die(
"Fallo ".$errno." en la conexión: ".$errstr);
}

die(
"Conectado"); 
  #9 (permalink)  
Antiguo 03/12/2007, 13:25
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 2 meses
Puntos: 0
Re: evitar aparicion mensajes de error php

Hola;

Como te dicen arriba, colocando una @ delante de las funciones o mejor colocando error_reporting(0); al principio de la página.

SALUDOS
Ruymán Trujillo
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:54.