Estaba probando una función para crear tus propios errores PHP
http://www.stanford.edu/dept/its/com...andling_in_PHP
Pero cuando la pongo en un script forzando a que aparezca el error x ej. que no existe time_stamp2() no me crea el fichero de error que le estoy especificando y me escribe en el fichero de log por defecto:
[12-Feb-2010 08:01:50] PHP Fatal error: Call to undefined function time_stamp2() in C:\AppServ\www\00-laboratorio_test\secciones\errores_php.php on line 161
errores_php.php
Código PHP:
Ver original
<? // Destinations // Destination types /** * my_error_handler($errno, $errstr, $errfile, $errline) * * Author(s): thanosb, ddonahue * Date: May 11, 2008 * * custom error handler * * Parameters: * $errno: Error level * $errstr: Error message * $errfile: File in which the error was raised * $errline: Line at which the error occurred */ function my_error_handler($errno, $errstr, $errfile, $errline) { switch ($errno) { case E_USER_ERROR: // Send an e-mail to the administrator error_log("Error: $errstr \n Fatal error on line $errline in file $errfile \n", DEST_EMAIL, ADMIN_EMAIL); // Write the error to our log file error_log("Error: $errstr \n Fatal error on line $errline in file $errfile \n", DEST_LOGFILE, LOG_FILE); break; case E_USER_WARNING: // Write the error to our log file break; case E_USER_NOTICE: // Write the error to our log file break; default: // Write the error to our log file error_log("Unknown error [#$errno]: $errstr \n in $errfile on line $errline \n", DEST_LOGFILE, LOG_FILE); break; } // Don't execute PHP's internal error handler return TRUE; } // Use set_error_handler() to tell PHP to use our method ?> <?php function time_stamp($session_time) { $seconds = $time_difference ; if($seconds <= 60) { echo"$seconds seconds ago"; } else if($minutes <=60) { if($minutes==1) { echo"one minute ago"; } else { echo"$minutes minutes ago"; } } else if($hours <=24) { if($hours==1) { echo"one hour ago"; } else { echo"$hours hours ago"; } } else if($days <=7) { if($days==1) { echo"one day ago"; } else { echo"$days days ago"; } } else if($weeks <=4) { if($weeks==1) { echo"one week ago"; } else { echo"$weeks weeks ago"; } } else if($months <=12) { if($months==1) { echo"one month ago"; } else { echo"$months months ago"; } } else { if($years==1) { echo"one year ago"; } else { echo"$years years ago"; } } } $session_time ="1264326122"; //$session_time=time(); echo "<h1>"; echo time_stamp2($session_time); echo "</h1>"; ?>
¿Sabéis si hay que cambiar alguna cosa más en el script?
Los efectos de definir las variables:
Código PHP:
Ver original
// Destination types
¿Solo se aplicarían a esta página o afectarían a todo el site?
Aprovecho el post para preguntaros tb si creéis mejor que los logs se guarden en una base de datos o en un fichero de texto.
http://www.stanford.edu/dept/its/com..._logs_with_PHP
Muchas gracias de antemano!