PHP-Web-Stat Support Forum
https://www.php-web-statistik.de/cgi-bin/yabb/YaBB.pl
Allgemein >> Dokumentationen >> Doku sysinfo.php Fehlersuche
https://www.php-web-statistik.de/cgi-bin/yabb/YaBB.pl?num=1284497381

Beitrag begonnen von hr3 am 14.09.10 um 22:49:39

Titel: Doku sysinfo.php Fehlersuche
Beitrag von hr3 am 14.09.10 um 22:49:39
Teilweise wird die Seite nicht vollständig angezeigt. Ich habe mehrfach erlebt, dass File-Status mit logdb.dta endet. Dann sollte logdb_backup.dta überprüft werden.

Es kann aber auch andere Symptome und Ursachen geben. Um den Grund dafür zu finden eine Kopie dieser Seite erstellen und eine Anweisung einfügen.

[code]...
include ( "func/html_header.php" ); // include html header
error_reporting(6143);
//------------------------------------------------------------------------------
echo "<table id=\"groundtable\" width=\"790\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\" style=\"-moz-border-radius:0px 0px 0px 0px;\"><tr><td align=\"center\">\n";
...[/code]
Dann werden Fehlerhinweise angezeigt.

Titel: Re: Doku sysinfo.php Fehlersuche
Beitrag von hr3 am 15.09.10 um 00:13:13
Wenn eine der zu prüfenden Dateien nicht vorhanden ist, läuft sysinfo.php in eine Schleife und bricht letztendlich ab. Das kann durch eine zusätzliche Anweisung verhindert werden.

[code]...
function file_row_size_big ( $file )
{
  $counter = 0;
  $logfile = fopen ( $file , "r" );
  if ($logfile==FALSE) {return number_format($counter,0,",",".");}
  while ( !FEOF ( $logfile ) )
...[/code]

Titel: Re: Doku sysinfo.php Fehlersuche
Beitrag von hr3 am 15.09.10 um 01:02:00
Ein rotes Ausrufungszeichen unter File Check zeigt an, dass es sich nicht um die Originaldatei handelt.
Siehe: http://www.php-web-statistik.de/manual/german/step_1.html

Ein gelbes Ausrufungszeichen steht hinter der update.php, wenn diese noch vorhanden ist und soll erinnern, dass dieses Programm nach Anwendung gelöscht werden sollte.

Ein rotes Ausrufungszeigen unter File Status weist auf eine von der Empfehlung abweichende Berechtigung hin.
Siehe: http://www.php-web-statistik.de/manual/german/step_2.html

Titel: Re: Doku sysinfo.php Fehlersuche
Beitrag von hr3 am 17.09.10 um 10:13:43
Da die Routine zum Zählen der Zeilen für große Dateien (z.B. logdb_backup.php > 2.000.000 Sätze) 20 Sekunden und mehr braucht, kann es neben dem verzögerten Seitenaufbau zu Abbrüchen kommen. Zumindest für Unix- und Linux-Systeme (die Mehrheit) gibt es durch Einfügen von zwei zusätzlichen Zeilen eine Lösung.

[code]...
function file_row_size_big ( $file )
{
  $counter=trim(`wc --lines < $file`);      // only Unix/Linux server
  if ($counter!='') {return number_format($counter,0,",",".");}
  $counter = 0;
...[/code]

Titel: Re: Doku sysinfo.php Fehlersuche
Beitrag von Holger am 31.10.10 um 22:47:10
Mit dem Erscheinen der Version 4.4 werden Teile der hier vorgeschlagenen Anweisungen fester Bestandteil der Sysinfo sein.

DANKE an hr3!

*

Titel: Re: Doku sysinfo.php Fehlersuche
Beitrag von hr3 am 30.12.10 um 23:27:40
Diese Routine soll helfen die Ursache für ein rotes Ausrufungszeichen hinter einer Datei zu ergründen.
Wurde die Datei nicht bewußt individuell modifiziert, liegt es in der Regel an einem falschen Übertragungsmodus.


Code (]<?php
$file=$_GET['file'):

;
echo"<PRE>Datei:                  ".$file;
if (!file_exists($file)) {exit;}
$check_file=file($file);
echo"<br>Version:            ".trim(substr($check_file[6],22,9));
echo"<br>Release:            ".trim(substr($check_file[7],22,8));
echo"<br>letzte Änderung:      ".date("d.m.y H:m:s",filemtime($file));
echo"<br>CHMOD:                  ".substr(decoct(fileperms($file)),-3);
echo"<br>Codierung:            ".mb_detect_encoding(implode("",file($file)))."<br>";
echo"<br>Byte:                  ".number_format(filesize($file),0,",",".");
echo"<br>Zeilen:                  ".count(file($file));
$string=file_get_contents($file);
echo"<br>Anzahl CR:            ". substr_count($string,"\r");
echo"<br>Anzahl LF:            ". substr_count($string,"\n");
echo"<br>Anzahl EF BB BF:      ". substr_count($string,"")."<br>";
$handle=fopen($file,"r"); $string=fgets($handle,6); fclose($handle);
echo"<br>erste Zeichen:            ".substr($string,0,1).' '.substr($string,1,1).' '.substr($string,2,1).' '.substr($string,3,1).' '.substr($string,4,1);
$hexstring='';
for ($x=0;$x<strlen($string);$x++) {$hexstring.=dechex(ord(substr($string,$x,1)));}
echo"<br>Hex:                  ".$hexstring;
echo"<br>";
echo"<br>MD5-Dateihash:            ".md5_file($file);
echo"<hr>checkversion.dta";
echo"<br>letzte Änderung:      ".date("d.m.y H:m:s",filemtime('func/checkversion.dta'));
echo"<br>MD5-Dateihash:            ";

$version_file=fopen('func/checkversion.dta','r');
while (!FEOF($version_file)) {
$version_file_entry=fgetcsv($version_file,60000,'|');
if ( $version_file_entry[1]==basename($file)) {echo$version_file_entry[2];}}
fclose ( $version_file );

echo"<br>";
echo"<br>operating system:      ".php_uname ('s');
echo"</PRE>";
?>


Diesen Code im Hauptverzeichnis der Statistik z.B. als datei_eigenschaften.php installieren.

Zum Testen z.B. .../stat/datei_eigenschaften.php?file=track.php aufrufen.

Ist das Ergebnis nicht selbsterklärend, bitte die Anzeige ins Forum kopieren.

PHP-Web-Stat Support Forum » Powered by YaBB 2.5.2!
YaBB Forum Software © 2000-2012. Alle Rechte vorbehalten.