Vad är felet servern eller koden?
Har en egen server som står hemma hos mig och så har jag ett webbhotell. Jag har testat den här koden på både webbhotellet och min egen server. Min server har klarat av att köra igenom koden på max 3 sek tills nu i veckan då den tar 2 minuter på sig. Jag har ominstallerat hela wamp , men det hjälpte inte. Mitt webbhotell klarar att köra igenom koden på 1 sekund.
Tilläggas kan att servern är snabb i övrigt att ladda bilder och hämta data från mysql men just de här ajax-scriptet verkar den ha problem med.
Koden använder jag för att få statistik på alla mina besökare och ser ut så här.
Jag undrar vad som kan vara fel med min egna server när det nu helt plötsligt tar flera minuter för den att köra igenom koden, när one.com klarar det på 1 sek. Och för en vecka sedan klarade min server det på max 3 sek.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function log_visit2()
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
/*alert(xmlhttp.responseText);*/
}
}
xmlhttp.open("POST", "besok.php" ,true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("page=index&visit=index&r=<?php error_reporting(0); echo $_SERVER['HTTP_REFERER']; ?>");
}
</script>
</head>
<body onload="log_visit2();">
<div align="center" id="apDiv1"><img src="images/laddar.gif"></div>
<script>
var ld=(document.all);
var ns4=document.layers;
var ns6=document.getElementById&&!document.all;
var ie4=document.all;
if (ns4) ld=document.apDiv1;
else if (ns6) ld=document.getElementById("apDiv1").style;
else if (ie4) ld=document.all.apDiv1.style;
if(ns4){ld.visibility="hidden";
}
else if (ns6||ie4) {
ld.display="none";
}
</script>
</body>
</html>
här är filen index "pratar" med
<?php
setlocale(LC_ALL, "Swedish");
error_reporting(0);
$sida = 'sida';
echo '1';
$referer = $_POST['r'];
echo '2';
if($_POST['page'] && strlen($_POST['page']) > 2){
$page = $_POST['page'];
}
else if($_POST['page'] && strlen($_POST['page']) < 3){
$page = 'Google Images';
}
else{
$page = '';
}
echo '3';
if($sida != ''){
if($referer == ''){
$referer = 'N/A';
}
echo '4';
$ip = $_SERVER['REMOTE_ADDR'];
$host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
if(strpos($host, "bot") === false){
echo '5';
mysql_connect("localhost", "user", "pass")or die("cannot connect server ");
mysql_select_db("kobbe92")or die("cannot select DB");
echo '6';
$result = mysql_query
("
SELECT * FROM visitors
WHERE ip = '$ip'
");
echo '6';
if($row = mysql_fetch_array($result))
{
if(strtotime("now") < strtotime("+30 min", $row['time'])){
$visningar = $row['sidvis']+1;
$oldpage = $row['page'];
$newpage = $oldpage.", ".$page;
}
else{
$visningar = 1;
$newpage = $page;
}
}
else{
$newpage = $page;
$visningar = 1;
}
echo '7';
mysql_query
("
UPDATE visitors
SET sidvis = '$visningar', page = '$newpage'
WHERE ip = '$ip'
");
echo '8';
function os($opersys) {
$oper = $_SERVER['HTTP_USER_AGENT'];
return strstr($oper, $opersys);
}
if(os('Windows') != FALSE) {
$os = "<i>Windows</i> \n";
}
elseif(os('Linux') != FALSE) {
$os = "<i>Linux</i> \n";
}
elseif(os('MAC') != FALSE) {
$os = "<i>MAC OSX</i> \n";
}
else {
$os = "N/A";
}
echo '9';
function get_browser_($user_agent)
{
$browsers = array(
'Safari'=>'Safari',
'Opera' => 'Opera',
'Mozilla Firefox'=> '(Firebird)|(Firefox)',
'Galeon' => 'Galeon',
'Android'=>'Android',
'iPhone'=>'iPhone',
'MyIE'=>'MyIE',
'Lynx' => 'Lynx',
'Netscape' => '(Mozilla/4\.75)|(Netscape6)|(Mozilla/4\.08)|(Mozilla/4\.5)|(Mozilla/4\.6)|(Mozilla/4\.79)',
'Konqueror'=>'Konqueror',
'SearchBot' => 'nuhk',
'SearchBot' => 'Googlebot',
'SearchBot' => 'Yammybot',
'SearchBot' => 'Openbot',
'SearchBot' => 'Slurp/cat',
'SearchBot' => 'msnbot',
'SearchBot' => 'ia_archiver',
'Internet Explorer 9' => 'MSIE 9',
'Internet Explorer 8' => 'MSIE 8',
'Internet Explorer 7' => 'MSIE 7',
'Internet Explorer 6' => 'MSIE 6',
'Internet Explorer 5' => 'MSIE 5',
'Internet Explorer 4' => 'MSIE 4',
'Google Chrome'=>'Chrome',
);
foreach($browsers as $browser=>$pattern)
{
if (strpos($user_agent, $pattern)){
$browse = $browser;
}
}
return $browse;
}
echo ' 10';
$browse = get_browser_($_SERVER['HTTP_USER_AGENT']);
if($browse == 'Android'){
$os = 'Android';
$browse = 'Chrome Lite';
}
if($browse == 'iPhone'){
$os = 'iOS';
}
if (!$browse) {
$browse = 'N/A';
}
echo ' 11';
if($browse != 'N/A' || $browse != 'SearchBot'){
// ny versionW
date_default_timezone_set('Europe/Stockholm');
setlocale(LC_ALL, "Swedish");
$time = strtotime("now");
mysql_connect("localhost", "user", "pass")or die("cannot connect server ");
mysql_select_db("kobbe92")or die("cannot select DB");
$ifexists = mysql_query
("
SELECT * FROM visitors
WHERE ip = '$ip'
");
$exists = false;
while($ifrow = mysql_fetch_array($ifexists))
{
$exists = true;
$existtime = $ifrow['time'];
}
if($exists == false){
mysql_query
("
INSERT INTO visitors (sida, time, ip, browser, os, referer, host, sidvis, page)
VALUES ('$sida', '$time', '$ip', '$browse', '$os', '$referer', '$host', '1', '$page')
");
}
else if($exists == true && strftime("%H", $time) > strftime("%H", $existtime)){
mysql_query
("
UPDATE visitors
SET time = '$time', browser = '$browse', os = '$os', referer = '$referer', sida = '$sida'
WHERE ip = '$ip'
");
}
else{
mysql_query
("
UPDATE visitors
SET time = '$time', browser = '$browse', os = '$os', sida = '$sida'
WHERE ip = '$ip'
");
}
}
}
}
echo ' 12';
?>