我下载了一个脚本,在我网站的两个页面上运行一个非常基本的计数器。自2009年4月以来,它运行得很漂亮,但在过去的三周里它会突然消失,然后偶尔会重新出现。本周它是每一天。首先柜台刚刚消失,现在除了横幅之外,没有加载计数器的页面。页面最终将加载,有时最多可加载五分钟。但没有柜台显示。那是很久以后的事了。然后它可以再次消失!
[http://www.thepenvro.com/][1]是主页然后,如果您点击“新闻”,然后点击“社交活动新闻”,这是另一个有计数器的页面。 (我们试图看看谁对团聚信息感兴趣)。页面不稳定。它们可以是正常的,或者它们在那里但是错过了两页中每个页面左下方的计数器,或者页面只显示没有页面内容的页眉或计数器。一切都没有特别的顺序。
我已进入我网站的服务器端并重置脚本(被告知由Streamline.net tekkie执行此操作)。它似乎没有帮助,但是时不时地想知道这是不是巧合。
它影响另一个脚本。我有一个很好的电子邮件表单,但当此计数器消失时,它会将表单下载到联系人页面上的电子邮件功能。我在表单底部放了一个注释,供访问者在收到错误消息时发送电子邮件。当您可以设置将SUBMIT设置为甚至更改屏幕时的完整错误消息是:
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)
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;
}
?>
答案 0 :(得分:2)
这与PHP代码无关,而是与Web服务器的配置有关。为了能够处理所有请求,它每秒可能会被击中太多次。
尝试从IIS查看以下设置:
答案 1 :(得分:1)
如果您直接访问计数器,则可以看到以下错误消息:
<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>
我会说这是Tomh所说的,它获得了太多的点击,所以当一个请求从文件中读取时,另一个请求尝试打开它并且它失败,或者它因为权限问题而无法打开它。 / p>
答案 2 :(得分:0)
很多人在使用streamline.net时遇到了同样的问题,包括我自己。我目前有一个网站,当天的每一天,每天都有大约50%的网站出现错误。
我的建议,更改为新的提供商。
Streamline.net不会做任何事情来帮助你,并会用模糊/无私的答案来哄骗你。我只是在等我的下一个薪水,然后我会和其他人一起买主机。