2008-09-07 22 views
0

Ich habe in verschiedenen Web-Statistik-Programme für meine Website untersucht, und eine vielversprechende ist Visitors. Leider ist es ein C-Programm und ich weiß nicht, wie ich es vom Webserver aus aufrufen soll. Ich habe versucht mit PHP shell_exec, aber mein Web-Host (NFSN) hat PHP safe mode auf und es gibt mir eine Fehlermeldung.Aufruf Besucher Web Stat-Programm von PHP

Gibt es eine Möglichkeit, das Programm im abgesicherten Modus auszuführen? Wenn nicht, kann es mit CGI funktionieren? Wenn das so ist, wie? (Ich habe noch nie zuvor CGI verwendet)

+0

> Leider, während NFSN SSH-Zugang liefert, bieten sie nicht die Fähigkeit, Cronjobs aufgrund ihres „hochdynamisch“ Service zu planen. Hochdynamisch? Mit diesem und dem abgesicherten Modus von PHP würde ich sofort nach einem neuen Host suchen. Es gibt viele gute ohne drakonische und unsinnige Einschränkungen wie diese. – ceejayoz

+0

@ceejayoz Wenige Web-Hosts bieten nutzungsbasierte Preisgestaltung. Bei kleinen Websites kann man viel Geld sparen, wenn man weiß, wie man optimiert. Zum Beispiel habe ich eine Website für meine Großmutter gebaut, um ihre Kunstwerke zu präsentieren. Die Site ist eine Sammlung von PHP-Skripten, die mit einer SQLite-Datenbank interagieren.Das Artwork selbst befindet sich auf der S3 von Amazon, und zwischen den beiden bezahle ich weniger als einen Dollar pro Monat, um es mit einem leichten Verkehrsaufkommen online zu halten. –

Antwort

0

Ich habe es geschafft, dieses Problem auf eigene Faust zu lösen. Ich habe die folgenden Zeilen in einer Datei mit dem Namen visitors.cgi:

#!/bin/sh 

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

Besucher sieht aus wie ein Log-Analysator und Berichtgenerator. Es ist wahrscheinlich das beste Setup als ein Chron Job, um statische HTML-Seiten einmal am Tag oder so zu erstellen.

Wenn Sie keinen Shell-Zugriff auf Ihr Hosting-Konto oder eine Art von Steuerkonsole haben, mit der Sie Chron-Jobs einrichten können, haben Sie kein Glück.

0

Gibt es einen Grund, nicht einfach Google Analytics zu verwenden? Es ist kostenlos und Sie müssen es nicht selbst schreiben. Ich benutze es und es gibt Ihnen viele Informationen.

Sorry, ich weiß, es ist kein „Programmierung“ Antwort;)

+0

Natürlich - ich verwende derzeit sowohl AWstats als auch Google Analytics, aber Besucher bieten einige Funktionen, die für beide einzigartig sind. Ich bin immer auf der Suche nach Möglichkeiten, nützliche Trends aus dem Rauschen zu extrahieren, je mehr Datenaggregation ich habe, desto besser. –

0

Ich zweite die Antwort von Jonathan: Dies ist ein Log-Analyzer, was bedeutet, dass Sie es als Eingabe das Logfile des Webservers ernähren müssen und es erzeugt eine Zusammenfassung davon. Da Sie sich auf einem Shared Host befinden, ist es unwahrscheinlich, dass Sie auf diese Datei zugreifen können, und selbst wenn Sie darauf zugreifen würden, ist es wahrscheinlich, dass sie Einträge für Websites enthält, die auf dem angegebenen Computer gehostet werden (Einrichtung separate Protokollierung für jeden VirtualHost ist sicherlich mit Apache möglich, aber ich weiß nicht, ob es eine übliche Praxis ist).

Eine mögliche Problemumgehung wäre, dass Sie eine Protokolldatei von Ihren Seiten schreiben. Dies ist jedoch ziemlich schwierig und kann schwerwiegende Auswirkungen auf die Leistung haben (Sie müssen die Schreibvorgänge in die Protokolldatei serialisieren, wenn Sie von Zeit zu Zeit keinen Papierkorb erhalten möchten). Alles in allem würde ich vorschlagen, mit einem Online-Analytics-Service wie Google Analytics zu gehen.

+0

Als Vermögen hätte ich Zugriff auf die Protokolldatei für meine Website. Ich war in der Lage, die HTML-Seite auf dem Server manuell zu generieren - ich habe gerade nach einer Möglichkeit gesucht, um es automatisch geschehen zu lassen. Alles, was ich brauche, ist einen Shell-Befehl auszuführen und die Ausgabe als Seite anzuzeigen. –

0

Wie Vermögen hätte ich Zugriff auf die Protokolldatei für meine Website. Ich war in der Lage, die HTML-Seite auf dem Server manuell zu generieren - ich habe gerade nach einer Möglichkeit gesucht, um es automatisch geschehen zu lassen. Alles, was ich brauche, ist einen Shell-Befehl auszuführen und die Ausgabe als Seite anzuzeigen.

Klingt wie ein guter Job für einen Praktikanten.

=)

Host-Rufen und sehen, ob Sie eine Shell ausführen zu tun, einen Deal arbeiten können.

+0

@ Jonathan Holland Leider, während NFSN SSH-Zugriff bietet, bieten sie nicht die Möglichkeit, Cron-Jobs aufgrund ihrer "hoch dynamischen" Dienst zu planen. Sie erwähnen die Verwendung eines [Service] (http://www.webcron.org/index.php?&lang=en), der regelmäßig eine Seite als Ersatz trifft, aber ich denke nicht, dass dies mein Problem lösen wird. –