Php 如何跟踪时间的花费
我想跟踪每页的开始时间和结束时间。 我习惯于下面的逻辑,但在跟踪更新查询时会减慢我们的网站。请给出如何减少服务器加载时间的解决方案Php 如何跟踪时间的花费,php,mysql,user-tracking,visitor-statistic,Php,Mysql,User Tracking,Visitor Statistic,我想跟踪每页的开始时间和结束时间。 我习惯于下面的逻辑,但在跟踪更新查询时会减慢我们的网站。请给出如何减少服务器加载时间的解决方案 $sql_check = " SELECT uniquevisitorid FROM analytics.tbl_analytics_data WHERE uniquevisitorid = '".$strca[1]."'"; $analycz = mysql_query($sql_check,$comp_con); if(mysql_
$sql_check = "
SELECT uniquevisitorid
FROM analytics.tbl_analytics_data
WHERE uniquevisitorid = '".$strca[1]."'";
$analycz = mysql_query($sql_check,$comp_con);
if(mysql_num_rows($analycz)<1){
$unix_start_time = strtotime(date('jS F Y h:i:s A (T)'));
$unix_end_time = '';
}
else
{
$unix_start_time = strtotime(date('jS F Y h:i:s A (T)'));
$unix_end_time = $unix_start_time;
$update_analycz="
UPDATE analytics.tbl_analytics_data
SET unixtimestamp_end = '".$unix_start_time."'
WHERE uniquevisitorid='".$strca[1]."'
ORDER BY id DESC LIMIT 1;";
$result = mysql_query($update_analycz,$comp_con);
}
嘿,您必须在查询mysql之前启动计时器,在查询mysql之后结束
//之前
$analycz=mysql\u query($sql\u check,$comp\u con);
//在
之后,我建议不要使用mysql
使用标准日志文件
并创建两个stat页面,这些页面将解析日志文件并显示所需的结果和/或将日志文件中的数据插入sql表。您可以尝试在会话开始时将数据保存在会话中,并在它离开页面后使用onunload使用ajax进行更新。另外,在查询中小心使用未替换的值,并尽量避免使用不推荐使用的扩展(mysql\u查询)。请停止使用mysql\u*函数,因为它们已不推荐使用-。mysqli_*函数现在是您的朋友了-PHP?要获得更高的精度,请使用
microtime(true)
。
$insert_into_analycz="
INSERT INTO analytics.tbl_analytics_data (cookiename,domainhash,uniquevisitorid,unixtimestamp_start,unixtimestamp_end,sessionid,session_counter,referral,path,domainname,userip,country,city,browser,useros,querystring,http_host,http_user_agent,inserttime)
VALUES('','".$strca[0]."','".
$strca[1]."','".
$unix_start_time."','','".
$trace_info['session_id']."','".
$trace_info['sc']."','".
$trace_info['referer']."','".
$trace_info['path']."','".
$dn."','".
$trace_info['user_ip']."','".
$trace_info['UserCountry']."','".
$trace_info['UserCity']."','".
$trace_info['UserBrower']."','".
$trace_info['UserOS']."','".
$trace_info['UserQuery_String']."','".
$trace_info['JDHTTP_HOST']."','".
$trace_info['user_agent']."',now())";