2010-07-25 15 views
22

Quiero volcar las variables de solicitud a un archivo para la depuración. ¿Cómo es esto posible?

Respuesta

44
<?php 
$req_dump = print_r($_REQUEST, TRUE); 
$fp = fopen('request.log', 'a'); 
fwrite($fp, $req_dump); 
fclose($fp); 

no probado, pero debe hacer el trabajo, basta con cambiar request.log al archivo que desea escribir.

+1

detalle insignificante minúsculo, pero se olvidó de su cierre> Cierre –

+18

> No es necesario, en absoluto??. De hecho, es una buena práctica escribir bibliotecas/etc (no es que esto sea relevante aquí) para omitirlo a fin de asegurar que no haya salida accidental de espacios en blanco que pueda estropear la salida de almacenamiento en búfer/encabezados/etc. – 46bit

+4

Me gusta 'var_export ($ var, true)' personalmente. – Cole

4

Use serialize() function for dumping. Vuelque $_SERVER, $_COOKIE, $_POST y $_GET por separado (puede ir al mismo archivo). Si planea depurar con los datos, ayuda saber si los datos fueron parte de una solicitud POST o una solicitud GET.

Volcar todo es bueno para la depuración en el desarrollo, pero no así en la producción. Si su aplicación no tiene muchos usuarios, también puede funcionar en producción. Si anticipa muchos usuarios, considere eliminar solo los datos de $_POST o limitar las variables del servidor a las que comienzan con HTTP_.

7

creo que hoy en día este método es más fácil y más rápido:

$req_dump = print_r($_REQUEST, true); 
$fp = file_put_contents('request.log', $req_dump); 
+3

Es probable que desee agregar al registro: 'file_put_contents ('request.log', $ req_dump, FILE_APPEND)' – jmb

Cuestiones relacionadas