我一直在为我的网站研究不同的网络统计程序,其中一个很有希望的是访客。不幸的是,它是一个 C 程序,我不知道如何从 Web 服务器调用它。我尝试使用 PHP 的shell_exec,但我的网络主机 ( NFSN ) 开启了 PHP 的安全模式,它给了我一条错误消息。
有没有办法在安全模式下执行程序?如果不是,它可以与 CGI 一起使用吗?如果是这样,怎么做?(我以前从未使用过 CGI)
我一直在为我的网站研究不同的网络统计程序,其中一个很有希望的是访客。不幸的是,它是一个 C 程序,我不知道如何从 Web 服务器调用它。我尝试使用 PHP 的shell_exec,但我的网络主机 ( NFSN ) 开启了 PHP 的安全模式,它给了我一条错误消息。
有没有办法在安全模式下执行程序?如果不是,它可以与 CGI 一起使用吗?如果是这样,怎么做?(我以前从未使用过 CGI)
访客看起来像一个日志分析器和报告生成器。它可能是最好的设置为每天一次左右创建静态 HTML 页面的 chron 作业。
如果您没有对您的主机帐户的 shell 访问权限,或者某种可以让您设置 chron 作业的控制面板,那么您将不走运。
有什么理由不只使用Google Analytics吗?它是免费的,您不必自己编写。我使用它,它为您提供了很多信息。
抱歉,我知道这不是“编程”答案;)
我支持乔纳森的回答:这是一个日志分析器,这意味着您必须将其作为输入提供给网络服务器的日志文件,并生成它的摘要。鉴于您在共享主机上,您不可能访问该文件,即使您可以访问它,它也可能包含给定计算机上托管的所有网站的条目(设置单独的日志记录对于每个 VirtualHost,Apache 肯定是可能的,但我不知道这是否是一种常见的做法)。
一种可能的解决方法是让您从页面中写出日志文件。然而,这是相当困难的,并且可能会对性能产生严重影响(如果您不想不时获得垃圾,则必须将写入序列化到日志文件中)。总而言之,我建议使用在线分析服务,例如 Google Analytics。
幸运的是,我确实可以访问我网站的日志文件。我已经能够在服务器上手动生成 HTML 页面——我一直在寻找一种让它自动发生的方法。我只需要执行一个 shell 命令并让输出显示为页面。
对于实习生来说,这听起来是一份不错的工作。
=)
打电话给你的主机,看看你是否能达成一个执行 shell 的协议。
我设法自己解决了这个问题。我将以下几行放在名为visitors.cgi 的文件中:
#!/bin/sh
printf "Content-type: text/html\n\n"
exec visitors -A /home/logs/access_log