PHP应用日志记录
发布时间:2020-12-13 21:33:00 所属栏目:PHP教程 来源:网络整理
导读:$log = array (); $log [‘time‘] = date (‘Y-m-d H:i:s‘, time ()); $log [‘ip‘] = IpHelper:: realIp(); $log ["REDIRECT_STATUS"] = isset ( $_SERVER ["HTTP_HOST"])? $_SERVER ["HTTP_HOST"]:‘‘ ; $log [‘user_id‘] = $_SESSION [‘id‘ ]; $l
$log = array(); $log[‘time‘] = date(‘Y-m-d H:i:s‘,time()); $log[‘ip‘] = IpHelper::realIp(); $log["REDIRECT_STATUS"] = isset($_SERVER["HTTP_HOST"])?$_SERVER["HTTP_HOST"]:‘‘; $log[‘user_id‘] = $_SESSION[‘id‘]; $log[‘session_id‘] = session_id(); $log[‘get‘] = isset($_GET) ? http_build_query($_GET):‘‘; $log[‘post‘] = isset($_POST) ? http_build_query($_POST):‘‘; $log[‘session‘] = isset($_SESSION)? http_build_query($_SESSION):‘‘; $log["REDIRECT_STATUS"] = isset($_SERVER["REDIRECT_STATUS"])?$_SERVER["REDIRECT_STATUS"]:‘‘; $log["HTTP_REFERER"] = isset($_SERVER["HTTP_REFERER"])?$_SERVER["HTTP_REFERER"]:‘‘; $log["HTTP_COOKIE"] = isset($_SERVER["HTTP_COOKIE"])?$_SERVER["HTTP_COOKIE"]:‘‘; $log["REDIRECT_URL"] = isset($_SERVER["REDIRECT_URL"])?$_SERVER["REDIRECT_URL"]:‘‘; $log["REQUEST_URI"] = isset($_SERVER["REQUEST_URI"])?$_SERVER["REQUEST_URI"]:‘‘; $log["REQUEST_TIME_FLOAT"] = isset($_SERVER["REQUEST_TIME_FLOAT"])?$_SERVER["REQUEST_TIME_FLOAT"]:‘‘; $log["REQUEST_TIME"] = isset($_SERVER["REQUEST_TIME"])?$_SERVER["REQUEST_TIME"]:‘‘; $log["HTTP_USER_AGENT"] = isset($_SERVER["HTTP_USER_AGENT"])?$_SERVER["HTTP_USER_AGENT"]:‘‘; $curl = curl_init(); $options = [ CURLOPT_URL => ‘http://日志服务器/index.php?data=‘.urlencode(str_replace(array("rn","r","n"),‘‘,var_export($log,true))), CURLOPT_RETURNTRANSFER => 1,#将curl_exec()获取的信息以文件流的形式返回,而不是直接输出 CURLOPT_FOLLOWLOCATION => 1,#启用时会将服务器服务器返回的"Location: "放在header中递归的返回给服务器,使用CURLOPT_MAXREDIRS可以限定递归返回的数量。 CURLOPT_USERAGENT => "", CURLOPT_TIMEOUT => 1, CURLOPT_NOSIGNAL =>1,#只获取信息,不下载内容 CURLOPT_NOBODY =>true ]; curl_setopt_array($curl,$options); curl_exec($curl); curl_close($ch); ignore_user_abort(true); $data = isset($_GET[‘data‘]) ? $_GET[‘data‘]: ‘‘; if($data === ‘‘) { exit; } if(function_exists(‘fastcgi_finish_request‘)) { fastcgi_finish_request(); //如果是fastcgi 环境 快速响应 } file_put_contents(‘/data_log/‘.date(‘Ymd‘,time()).‘.log‘,$data. PHP_EOL,FILE_APPEND | LOCK_EX ); /* 15分钟的执行时间 */ set_time_limit(60*15); $f_name = date(‘Ymd‘,strtotime("-9 day")) .‘.log‘; $path = ‘/data_log/‘; if( file_exists( $path.$f_name ) !== false ) { //exit; /* 日志不存在 */ /* 打包 */ exec("cd {$path} && tar -cjf {$f_name}.tar.bz2 {$f_name} && rm -f {$f_name}"); } 0 4 * * * /usr/bin/php "/data/日志压缩.php" > /data_log/cron.log 2>&1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |