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

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

有帮助吗?

解决方案 5

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

#!/bin/sh

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

其他提示

访问者看起来就像一个日志分析器和报告生成器。最好将其设置为一项定时作业,每天左右创建一次静态 HTML 页面。

如果您没有对托管帐户的 shell 访问权限,或者没有某种可以让您设置定时作业的控制面板,那么您就不走运了。

有什么理由不只使用 谷歌分析?它是免费的,您不必自己编写。我使用它,它为你提供了很多信息。

抱歉,我知道这不是“编程”答案;)

我赞同乔纳森的回答:这是一个日志分析器,这意味着您必须将网络服务器的日志文件作为输入提供给它,它会生成它的摘要。鉴于您位于共享主机上,您不可能访问该文件,即使您会访问它,它也可能包含以下条目 全部 给定计算机上托管的网站(使用 Apache 肯定可以为每个 VirtualHost 设置单独的日志记录,但我不知道这是否是常见做法)。

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

幸运的是,我确实可以访问我的网站的日志文件。我已经能够在服务器上手动生成 HTML 页面 - 我只是在寻找一种方法让它自动发生。我所需要的只是执行 shell 命令并获取输出以显示为页面。

听起来对于实习生来说是一份不错的工作。

=)

致电您的主机,看看是否可以达成执行 shell 的协议。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top