从PHP呼叫访问者网络统计程序

时间:2020-03-05 18:49:00  来源:igfitidea点击:

我一直在为我的网站研究不同的Web统计程序,其中一个很有前途的是Visitors。不幸的是,它是一个C程序,我不知道如何从Web服务器调用它。我曾尝试使用PHP的shell_exec,但我的Web主机(NFSN)启用了PHP的安全模式,这给了我一条错误消息。

有没有办法在安全模式下执行程序?如果没有,它可以与CGI一起使用吗?如果是这样,怎么办? (我以前从未使用过CGI)

解决方案

回答

访客看起来像一个日志分析器和报告生成器。它可能是最好的设置,作为一项计时工作,每天大约创建一次静态HTML页面。

如果我们无权访问托管帐户的外壳程序,或者无法通过某种控制面板来设置chron作业,那么我们将很不走运。

回答

有什么理由不只是使用Google Analytics(分析)?它是免费的,我们不必自己编写。我使用它,它为我们提供了很多信息。

抱歉,我知道这不是一个"编程"的答案;)

回答

我为乔纳森(Jonathan)提供第二个答案:这是一个日志分析器,这意味着我们必须将其作为Web服务器的日志文件的输入,并对其进行汇总。鉴于我们位于共享主机上,因此不可能访问该文件,即使我们要访问该文件,也很可能该文件包含给定机器上托管的所有网站的条目(设置单独的日志记录)当然,每个VirtualHost都可以通过Apache使用,但我不知道这是否是常见的做法。

一种可能的解决方法是让我们从页面中写出日志文件。但是,这相当困难,并且可能会严重影响性能(如果我们不想不时获取垃圾,则必须序列化一次写入日志文件)。总而言之,我建议我们使用在线分析服务,例如Google Analytics(分析)。

回答

As fortune would have it I do have access to the log file for my site. I've been able to generate the HTML page on the server manually - I've just been looking for a way to get it to happen automatically. All I need is to execute a shell command and get the output to display as the page.

对于实习生而言,这听起来不错。

=)

致电主机,看看是否可以解决执行Shell执行的问题。

回答

我设法自己解决了这个问题。我将以下行放在名为Visitors.cgi的文件中:

#!/bin/sh

printf "Content-type: text/html\n\n"
exec visitors -A /home/logs/access_log