2011-10-30 82 views
8

¿Hay alguna forma de ver los registros de errores de PHP o los registros de errores de Apache en un navegador web?¿Cómo ver el registro de errores de PHP o Apache en línea en un navegador?

No me parece conveniente instalar ssh en varios servidores y ejecutar un comando de "cola" para seguir los registros de errores. ¿Existe alguna herramienta (fuente abierta de preferencia) que me muestra los registros de errores en línea (streaming o no de streaming?

Gracias

Respuesta

5

Es bueno hacer un script que lee los registros de errores de apache2 ..

$apache_errorlog = file_get_contents('/var/log/apache2/error.log'); 

si no su trabajo .. tratando de hacerlo con las funciones php exec o shell_exec y el comando '/var/log/apache2/error.log gato'

EDIT: Si tiene múltiples servidores (i Quess con servidores web) puedes c rear un archivo en la máquina, cuando se hace una petición a ese guión (conexión hash) a obtener los registros de ese servidor

+1

¿No va a crear una advertencia como 'PHP Advertencia: file_get_contents (/var/log/apache2/error.log): no se pudo abrir la secuencia: Permiso denegado'? Por supuesto, dado que un sistema de seguridad básico está configurado. – padawanTony

5

Como todos están sugiriendo clarity, también me gustaría mencionar tailon. Escribí tailon como una alternativa más moderna y segura a clarity. Todavía está en sus primeras etapas de desarrollo, pero la funcionalidad que necesita está ahí. También puede usar wtee, si solo está interesado en seguir un solo archivo de registro.

1

que he encontrado esta solución https://code.google.com/p/php-tail/

Está funcionando perfectamente. Solo necesitaba cambiar el tamaño del archivo, porque primero recibía un error.

56  if($maxLength > $this->maxSizeToLoad) { 
57    $maxLength = $this->maxSizeToLoad; 
58    // return json_encode(array("size" => $fsize, "data" => array("ERROR: PHPTail attempted to load more (".round(($maxLength/1048576), 2)."MB) then the maximum size (".round(($this->maxSizeToLoad/1048576), 2) ."MB) of bytes into memory. You should lower the defaultUpdateTime to prevent this from happening. "))); 
59  } 

Y he añadido tamaño predeterminado, pero no se necesita

125  lastSize = <?php echo filesize($this->log) || 1000; ?>; 
0

Sé que esta pregunta es un poco viejo, pero (junto con la falta de buenas opciones) que me dio la idea para crear esta pequeña aplicación web (de código abierto). https://github.com/ToX82/logHappens. Se puede usar en línea, pero usaría un .htpasswd como un sistema de inicio de sesión básico. Espero que ayude.

2

Un código PHP fácil de leer el registro e imprimir:

<?php 

    exec('tail /var/log/apache2/error.log', $error_logs); 

    foreach($error_logs as $error_log) { 

     echo "<br />".$error_log; 
    } 

?> 

Puede incrustar variable de PHP error_log en html como por su exigencia. La mejor parte es tail comando cargará los últimos errores que no harán demasiado cargar en su servidor.

Puede cambiar tail para dar salida como desee

Ex. tail myfile.txt -n 100 // dará las últimas 100 líneas

Cuestiones relacionadas