Javascript PHP计数器消失/重新出现

Javascript PHP计数器消失/重新出现,javascript,counter,hit,Javascript,Counter,Hit,我下载了一个脚本,在我网站的两个页面上运行一个非常基本的计数器。自2009年4月以来,它运行得很好,但在过去三周内,它会突然消失,然后偶尔重新出现。本周每天都有。起初计数器不见了,现在带计数器的页面除了横幅外不加载。页面最终将被加载,有时长达五分钟。但是没有柜台展示。那是很久以后的事了。然后一切又会消失 [是主页吗?如果你点击“新闻”,然后点击“社会事件新闻”,这是另一个有计数器的页面。(我们试图看看谁对团圆信息感兴趣)。这些页面不稳定。它们要么正常,要么存在,但缺少两页左下角的计数器,要么页面

我下载了一个脚本,在我网站的两个页面上运行一个非常基本的计数器。自2009年4月以来,它运行得很好,但在过去三周内,它会突然消失,然后偶尔重新出现。本周每天都有。起初计数器不见了,现在带计数器的页面除了横幅外不加载。页面最终将被加载,有时长达五分钟。但是没有柜台展示。那是很久以后的事了。然后一切又会消失

[是主页吗?如果你点击“新闻”,然后点击“社会事件新闻”,这是另一个有计数器的页面。(我们试图看看谁对团圆信息感兴趣)。这些页面不稳定。它们要么正常,要么存在,但缺少两页左下角的计数器,要么页面仅显示没有页面内容或计数器的标题。所有这些都没有特定顺序

我已经进入了我网站的服务器端,并重置了脚本(Streamline.net tekkie告诉我这么做)。这似乎没有帮助,但偶尔会怀疑这是否只是巧合

它会影响另一个脚本。我有一个发送电子邮件的表单,它工作得很好,但是当这个计数器消失时,它会在联系人页面上关闭“发送电子邮件的表单”功能。我在表单底部放了一个便条,让访问者在收到错误消息时只发送电子邮件。当您能够设法获得提交信息时,完整的错误消息将被删除T甚至改变屏幕是:

FastCGI Error The FastCGI Handler was unable to process the request. Error Details: The FastCGI pool queue is full Error Number: 4 (0x80070004). Error Description: The system cannot open the file. HTTP Error 500 - Server Error. Internet Information Services (IIS) 快速CGI错误 FastCGI处理程序无法处理该请求。 错误详细信息: FastCGI池队列已满 错误号:4(0x80070004)。 错误描述:系统无法打开该文件。 HTTP错误500-服务器错误。 互联网信息服务(IIS) Streamline要求我复制错误…我不能!我只能给他们我在这里发布的内容和屏幕截图。所以我不知道是我的脚本还是他们的。下面是计数器的脚本。这也是我购买的东西。我最初认为可能是IE8造成了问题,但Firefox中也出现了同样的问题

最后一点…这不是电子邮件的形式,这是一个问题,因为我也在该网站的一个子域中运行,那里没有问题。但我也没有在子域的任何地方运行计数器。我有主域和子域的所有相同功能

谢谢你的帮助…我是一个完全的新手,所以任何解决方案都会收到。我们正在为我们5月份的聚会做宣传,圣诞节后我有一个大的电子邮件活动要出去,我不希望网站上所有的乱七八糟。如果有替代计数器,或者如果我的php版本太旧,我很乐意购买一个来自可靠来源的更好的

<?php
/*******************************************************************************
*  Title: PHP hit counter (PHPcount)
*  Version: 1.2 @ October 26, 2007
*  Author: Klemen Stirn
*  Website: http://www.phpjunkyard.com
********************************************************************************
*  COPYRIGHT NOTICE
*  Copyright 2004-2007 Klemen Stirn. All Rights Reserved.

*******************************************************************************/

// SETUP YOUR COUNTER
// Detailed information found in the readme.htm file

// Count UNIQUE visitors ONLY? 1 = YES, 0 = NO
$count_unique = 1;
// Number of hours a visitor is considered as "unique"
$unique_hours = 1;
// Minimum number of digits shown (zero-padding). Set to 0 to disable.
$min_digits = 0;

#############################
#     DO NOT EDIT BELOW     #
#############################

/* Turn error notices off */
error_reporting(E_ALL ^ E_NOTICE);

/* Get page and log file names */
$page = input($_GET['page']) or die('ERROR: Missing page ID');
$logfile = 'logs/' . $page . '.txt';

   /* Does the log exist? */
   if (file_exists($logfile)) {

    /* Get current count */
    $count = trim(file_get_contents($logfile)) or $count = 0;

    if ($count_unique==0 || $_COOKIE['counter_unique']!=$page) {
    /* Increase the count by 1 */
    $count = $count + 1;
    $fp = @fopen($logfile,'w+') or die('ERROR: Can\'t write to the log file 
   ('.$logfile.'), please make sure this file exists and is CHMOD to 666 (rw-rw-rw-)!');
    flock($fp, LOCK_EX);
    fputs($fp, $count);
    flock($fp, LOCK_UN);
    fclose($fp);

    /* Print the Cookie and P3P compact privacy policy */
    header('P3P: CP="NOI NID"');
    setcookie('counter_unique', $page, time()+60*60*$unique_hours);
}

/* Is zero-padding enabled? */
if ($min_digits > 0) {
    $count = sprintf('%0'.$min_digits.'s',$count);
}

/* Print out Javascript code and exit */
echo 'document.write(\''.$count.'\');';
exit();

} else {
die('ERROR: Invalid log file!');
}

/* This functin handles input parameters making sure nothing dangerous is passed in */
function input($in) {
$out = htmlentities(stripslashes($in));
$out = str_replace(array('/','\\'), '', $out);
return $out;
}
?>

这与PHP代码无关,但与Web服务器的配置有关。它可能每秒被点击次数太多,无法处理所有请求

尝试从IIS查看以下设置:

  • instanceMaxRequests
  • 最大实例
  • 队列长度

如果您直接访问计数器,您可以看到以下错误消息:

<h1>FastCGI Error</h1> 
The FastCGI Handler was unable to process the request. 
<hr> 
<p>Error Details:</p> 
<ul> 
<li>The FastCGI pool queue is full</li>
<li>Error Number: 4 (0x80070004).</li> 

<li>Error Description: The system cannot open the file.
</li> 

</ul> 
<h2>HTTP Error 500 - Server Error.<br>Internet Information Services (IIS)</h2>
FastCGI错误
FastCGI处理程序无法处理该请求。

错误详细信息:

  • FastCGI池队列已满
  • 错误号:4(0x80070004)。
  • 错误描述:系统无法打开该文件。
HTTP错误500-服务器错误。
Internet信息服务(IIS)

我想说的是Tomh所说的,当一个请求从文件中读取时,它得到了太多的点击,而另一个请求试图打开它却失败了,或者它只是因为权限问题而无法打开它。

很多人在使用streamline.net时都遇到过同样的问题,包括我自己。我目前有一个与他们一起的网站t在一天中下降了大约50%,一周中的每一天都有这个错误

我的建议是,换一个新的供应商


Streamline.net不会帮你做任何事,只会用模糊/不准确的答案来欺骗你。我只是在等我的下一张工资支票,然后我会和其他人一起购买主机。

谢谢你们。我们不太受欢迎!我们每天大约有5次点击。我给这个错误屏幕是为了简化,如果max requests出现问题,实例队列长度…这不是服务器端CGI实用程序吗?我如何才能知道限制是什么…如果有限制,他们不会说吗?很抱歉,太多了。如果这是服务器端问题,我想知道该问什么或告诉他们什么。他们说的都是重置脚本,老实说,我不知道这是什么。确实如此esn通常不会做任何事情。问题最终会自行解决,只是为了返回。还有第二种选择:同一服务器上的另一个站点获得大量流量,占用了所有资源,而OP的站点没有任何资源。