Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    Il file .pl non mi visualizza i grafici delle statistiche

    Ho bisogno del vostro aiuto.
    Ho istallato un programma in cgi perl per gestire le statistiche, si chiama: Access Stats 1.12
    Ho un problema. Mi dovrebbe fare vedere le statistiche con i grafici, credo che dovrebbe essere in formato html, ma pur essendo installati immagini e tutto il richiedente, mi visulaizza le statistiche soltando in formato TXT.
    In effetti il programma non mi genera la pagina con i grafici.
    Ho il presentimento che potrebbe essere un problema del server (gestione esterna). Ovviamente ho chiesto al mio gestore, ma senza ricevere addirittura alcuna risposta.
    Avreste qualche idea, almeno per tentare di risolvere questo mio problema?
    Grazie a tutti.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Probabilmente per generare grafici ha bisogno di librerie, che in Perl vengono "linkate" con la direttiva "use".
    E` possibile che sul tuo server non vi sia quella che serve.

    Dovresti:
    1. verificare se nel sorgente ci sono righe che iniziano con use
    2. controllare gli errori (di solito vanno a finire nel file error.log) per vedere se c'e` qualche messaggio.

    Ci dev'essere anche la possibilita` di far andare gli errori nella pagina Web: shishii aveva dato risposte in tal senso non troppo tempo fa. Prova con una ricerca in questo forum.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    ritengo che non si tratti di un errore o della mancanza di una libreria utilizzata tramite use. In tal caso infatti viene generato un errore irreversibile in fase di precompilazione, mentre a quanto pare lo script funziona generando solo report formato txt.

    Penso che si tratti di un problema di settaggio in qualche file di configurazione dello script.

    Comunque per vedere gli errori via web bisogna inserire negli script all'inizio sotto
    #!/usr/bin/perl

    la stringa:

    use CGI::Carp(fatalToBrowser);
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  4. #4

    non risolto

    Grazie per il vostro intervento.
    Anch'io ho pensato che si poteva trattare di errore di configurazione, ma il fatto è che nella pagina di ingresso del rapporto generale(dei mesi)si vedono benissimo alcune immagini gif (una freccetta e uno spunto), per cui la directory delle immagini è asatta (credo).
    Il problema sta nel fatto che in questa pagina ci sono i link ai logfile in TXT.
    Ho provato a cambiare estensione (html)nel file LOG.PL, ma non succede niente, ovviamente non mi fa vedre neanche i TXT.
    Ho provato a inserire anche la stringa suggerita da ShiShii, ma niente da fare.
    Se ho capito bene Mich mi dice di vedere se ci sono chiamate di USE, non c'è ne sono nel LOG file, e neanche ci sono nel cgi file di errore.

    Per avere più chiara la situazione vi posso mandare qualche file, nel qual caso fatemi sapere voi.
    Ve ne sono immansamente grato.
    Ciao

  5. #5
    ripeto... le chiamate use in questo caso non c'entrano, e in questo caso non c'entra neanche il file error_log.

    Posta qui il file delle configurazioni, se non è troppo lungo.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  6. #6

    il file pl

    Grazie Shishii,
    esso il file log.pl
    Nel programma c'è pure il file stat.pl che è lo stesso di questo.

    #!/usr/bin/perl
    ################################################## #######################
    # Access Stats v1.12 #
    # Copyright (c)2000 Chi Kien Uong #
    # URL: http://www.proxy2.de #
    # #
    # This Software is distributed under the GNU General Public #
    # License. For more details see license.txt #
    # #
    ################################################## #######################

    # url to script
    $cgiurl = "#!/usr/bin/perl";

    # url to the image file
    $output = "http://www.nomedominio.it/stat/log.gif";

    # path to the log files from the server root without trailing "/" (chmoded to 777 (drwxrwxrwx))
    $base_dir = "/home/httpd/vhosts/nomedominio.it/httpdocs/stat/logfiles";

    # server time offset - add one hour = +1 ; subtract one hour = -1
    $offset = 0;

    # Ignored IPs - Comment it out if you don't use it e.g. #@skip=('127.0.0.1');
    @skip=('127.0.0.1','196.109.183.9');

    # log file extension
    $log_file_ext = "txt";

    # IP log file - 666 (-rw-rw-rw-)
    $ip_file = "ip.log";

    # time (in min) to keep visitor IP in table (ip blocking)
    $ip_time = 15;

    # Done
    ###########

    $check=0;

    sub check_ip {

    open(FILE,"$ip_file");
    my @lines = <FILE>;
    close(FILE);
    my $found = 0;
    my $this_time = time();

    open(TABLE,">$ip_file");
    foreach $visitor (@lines) {
    ($ip_addr,$time_stamp) = split(/\|/,$visitor);
    if ($this_time < $time_stamp+(60*$ip_time)) {
    if ($ip_addr eq $ENV{'REMOTE_ADDR'}) {
    $found=1;
    } else {
    print TABLE "$ip_addr|$time_stamp";
    }
    }
    }
    print TABLE "$ENV{'REMOTE_ADDR'}|$this_time\n";
    close(TABLE);
    return $found;
    }

    sub parse_ref {

    my $query = $ENV{'QUERY_STRING'};
    ($value, $referer) = split(/=/, $query);
    if ($referer) {
    if ($referer =~ /(http:\/\/.*\.[a-z]{2,4}\/)/i) {
    $referer = $1;
    }
    } else {
    $referer = "-";
    }
    }

    sub write_log {

    my @months = ('January','February','March','April','May','June' ,'July','August','September','October','November', 'December');
    my @days = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
    my ($min,$hour,$mday,$mon,$year,$wday) = (localtime(time+($offset*3600)))[1,2,3,4,5,6];

    $min = "0$min" if ($min < 10);
    $hour = "0$hour" if ($hour < 10);
    $mday = "0$mday" if ($mday < 10);
    $year += 1900;
    $month = $mon+1;
    $month = "0$month" if ($month < 10);

    my $logdat = "$base_dir/$month-$year\.$log_file_ext";
    my $this_day = ("$days[$wday] $mday-$months[$mon]-$year $hour:$min");

    open(DATA,">>$logdat");
    print DATA ("$this_day - $host - \"$ENV{'HTTP_USER_AGENT'}\" - \"$referer\"\n");
    close (DATA);
    }

    sub get_host {

    my ($ip_address,$ip_number,@numbers);
    if ($ENV{'REMOTE_HOST'}) {
    $host = $ENV{'REMOTE_HOST'};
    } else {
    $ip_address = $ENV{'REMOTE_ADDR'};
    @numbers = split(/\./, $ip_address);
    $ip_number = pack("C4", @numbers);
    $host = (gethostbyaddr($ip_number, 2))[0];
    }
    if ($host eq "") {
    $host = "$ENV{'REMOTE_ADDR'}";
    }
    }

    if (@skip) {
    foreach $ips (@skip) {
    if($ENV{'REMOTE_ADDR'} =~ /$ips/) {
    $check = 1;
    last;
    }
    }
    }

    $check = &check_ip if ($check==0);

    if ($check == 0) {
    &get_host();
    &parse_ref();
    &write_log();
    }

    print "Location: $output\n\n";
    exit (0);

  7. #7
    Ciao,

    questo è sicuramente sbagliato:

    # url to script
    $cgiurl = "#!/usr/bin/perl";

    devi mettere il path dello script, non dell'interprete.

    Per il resto non c'è alcun riferimento a statistiche grafiche, per cui posta il file stat.pl

    Ad ogni modo questo script non mi piace, mi sembra scritto male, poco affidabile e piuttosto inefficiente.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  8. #8

    sono ancora io

    Caro Shishii,
    il path dello script dovrebbe essere quest:
    "/home/httpd/vhosts/nomedominio.it/cgi-bin/"

    NON FUNZIONA ANCORA.
    Sbaglio ancora in qualche altra cosa????

  9. #9
    scusa ti ho portato fuori strada, in
    # url to script
    $cgiurl = "#!/usr/bin/perl";

    devi mettere l'url completo, qualcosa tipo:

    # url to script
    $cgiurl = "http://www.tuosito.com/cgi-bin/nomescript.pl";

    Poi ribadisco che la parte riguradante la visualizzazione sta nel file stat.pl
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  10. #10

    Grazieeeeeeee Shishii

    Magnifico.
    Sei stato meraviglioso
    Te ne sono immensamente grato.
    Tutto OK
    Riguardo alla efficenza ora lo posso provare meglio.
    Sicuramente ci saranno altri programmi che funzioneranno meglio, ma sto iniziando adesso.
    Forse hai qualche suggerimento per migliorarlo, dato che te ne intenti di Perl (ho visitato il tuo sito: complimenti!).
    Tante belle cose.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.