Я получаю эту ошибку при error_log ApacheMysql 4 до 5 - выражение сценария Change
[Пт 29 ноября 15:03:49 2013] [ошибка] [клиент 81.15.135.11] SELECT COUNT (*), COUNT (DISTINCT UserName), COUNT (DISTINCT CallingStationId) ОТ radacct ГДЕ AcctStartTime LIKE '% 2013-11-22%', реферер: http://www.company.com/caoad/charts.cgi
[Пт 29 ноября 15:02:46 2013] [ошибка] [клиент 81,15 .135.11] SELECT SUM (AcctOutputOctets), СУММА (AcctInputOctets) ОТ radacct ГДЕ AcctStartTime LIKE '% 2013-11-19%', реферер: http://www.company.com/caoad/charts.cgi
SELECT COUNT(*),COUNT(DISTINCT UserName),COUNT(DISTINCT CallingStationId)
FROM radacct
WHERE AcctStartTime LIKE '%2013-11-10%'
SELECT SUM(AcctOutputOctets),SUM(AcctInputOctets)
FROM radacct
WHERE AcctStartTime LIKE '%2013-11-09%'
Синтаксис, вероятно, изменился с Mysql 4 на 5, и я точно не знаю, как его изменить.
Если кто-нибудь может дать мне несколько указателей, которые были бы замечательными. Спасибо.
#!/usr/bin/perl
use Chart::Lines;
do "ho.pl";
$numdays = $forminput{'numdays'};
$partner = $forminput{'partner'};
my $nas = $forminput{'nasidentifier'};
if (!$numdays){
$numdays = 7;
}
$multiplier = 38;
if ($numdays > 30){
$small=1;
$multiplier = 8;
}
$g = Chart::Lines->new(50+($numdays*$multiplier),500);
@day_names = qw(Sun Mon Tue Wed Thu Fri Sat);
$accum=0;
for (my $count=$numdays; $count>0; $count--) {
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time() - 60*60*24*$count);
$mon++;
$montext = sprintf "%02d",$mon;
$mdaytext = sprintf "%02d", $mday;
$year = $year + 1900;
if ($partner){
%hotspotpartners = get_hotspot_trading_partners();
my $matchstring;
my $countage=0;
foreach (keys %hotspotpartners){
if ($hotspotpartners{$_} == $partner){
if ($countage != 0){
$matchstring .= " OR ";
}
$matchstring .= "NASIdentifier='$_'";
$countage++;
}
}
$sql = "SELECT COUNT(*),COUNT(DISTINCT UserName),COUNT(DISTINCT CallingStationId)
FROM radacct
WHERE AcctStartTime LIKE '%"."$year-$montext-$mdaytext%' AND ($matchstring)";
} else { $sql = "SELECT COUNT(*),COUNT(DISTINCT UserName),COUNT(DISTINCT CallingStationId) FROM radacct WHERE AcctStartTime LIKE '%"."$year-$montext-$mdaytext%'";
}
if ($nas){
$sql .= " AND NASIdentifier = '$nas'";
}
print STDERR $sql;
my $sth = $dbh->prepare($sql);
$sth->execute();
($temp,$unique,$mac) = $sth->fetchrow();
if ($small){
$title="";
} else {
$title = "$day_names[$wday] $mday/$mon";
}
$g->add_pt($title, $temp,$unique,$mac);
$accum = $accum + $temp;
}
$accum = int($accum/$numdays);
my @legend_labels = qw(Total Unique MACS);
$g->set('sub_title' => 'Average : '.$accum.' logins per day');
$g->set('min_val' => 0);
if (!$small){
$g->set('grid_lines' =>'true');
}
$g->set('x_label' =>'Date');
$g->set('y_label' =>'Number of logins');
$g->set('legend_labels' => \@legend_labels);
$g->set('transparent' =>'true');
$g->cgi_png();
# журнал
Ошибка после внесения изменений на сценарий к:
use strict;
use warnings;
#
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Scalar value @abbr[$county] better written as $abbr[$county] at /var/www/cgi-bin/ovad/chart-day.cgi line 47., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$last" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 10., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "%forminput" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 10., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$last" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 11., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$last" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 12., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$last" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 15., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$last" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 22., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$last" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 28., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$last" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 35., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$g" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 39., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$sql" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 43., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$sql" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 44., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$dbh" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 45., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$sql" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 45., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$g" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 47., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "@legend_labels" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 52., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$g" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 53., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$g" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 54., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$g" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 55., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$g" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 56., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$g" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 57., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$g" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 58., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$g" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 60., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$g" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 61., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "@legend_labels" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 61., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$g" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 62., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "$g" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 63., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Global symbol "@data" requires explicit package name at /var/www/cgi-bin/ovad/chart-day.cgi line 63., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Execution of /var/www/cgi-bin/ovad/chart-day.cgi aborted due to compilation errors., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:33 2013] [error] [client 82.15.145.17] Premature end of script headers: chart-day.cgi, referer: /ovad/charts.cgi
[Fri Nov 29 15:36:34 2013] [error] [client 82.15.145.17] Global symbol "$numdays" requires explicit package name at /var/www/cgi-bin/ovad/chart-bandwidthhistory.cgi line 6., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:34 2013] [error] [client 82.15.145.17] Global symbol "%forminput" requires explicit package name at /var/www/cgi-bin/ovad/chart-bandwidthhistory.cgi line 6., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:34 2013] [error] [client 82.15.145.17] Global symbol "$partner" requires explicit package name at /var/www/cgi-bin/ovad/chart-bandwidthhistory.cgi line 7., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:34 2013] [error] [client 82.15.145.17] Global symbol "%forminput" requires explicit package name at /var/www/cgi-bin/ovad/chart-bandwidthhistory.cgi line 7., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:34 2013] [error] [client 82.15.145.17] Global symbol "%forminput" requires explicit package name at /var/www/cgi-bin/ovad/chart-bandwidthhistory.cgi line 8., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:34 2013] [error] [client 82.15.145.17] Global symbol "$numdays" requires explicit package name at /var/www/cgi-bin/ovad/chart-bandwidthhistory.cgi line 9., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:34 2013] [error] [client 82.15.145.17] Global symbol "$numdays" requires explicit package name at /var/www/cgi-bin/ovad/chart-bandwidthhistory.cgi line 10., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:34 2013] [error] [client 82.15.145.17] Global symbol "$multiplier" requires explicit package name at /var/www/cgi-bin/ovad/chart-bandwidthhistory.cgi line 12., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:34 2013] [error] [client 82.15.145.17] Global symbol "$numdays" requires explicit package name at /var/www/cgi-bin/ovad/chart-bandwidthhistory.cgi line 13., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:34 2013] [error] [client 82.15.145.17] Global symbol "$small" requires explicit package name at /var/www/cgi-bin/ovad/chart-bandwidthhistory.cgi line 14., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:34 2013] [error] [client 82.15.145.17] Global symbol "$multiplier" requires explicit package name at /var/www/cgi-bin/ovad/chart-bandwidthhistory.cgi line 15., referer: /ovad/charts.cgi
[Fri Nov 29 15:36:34 2013] [error] [client 82.15.145.17] Global symbol "$g" requires explicit package name at /var/www/cgi-bin/ovad/chart-bandwidthhistory.cgi line 17., referer: /ovad/charts.cgi
exacttly ЧТО ошибка вы получаете? В SQL-запросе нет ничего плохого. И почему вы отметили это с помощью PHP, но используете Perl? –
Просьба предоставить структуру radacct-таблицы с образцами данных через sqlfiddle. Попробуйте свой запрос там. – user4035
Ваши первые строки после shebang в любом из ваших скриптов perl должны быть 'use strict; использовать предупреждения. Возможно, ваша проблема будет разъяснена с этим. –