Probleme nach Update von 2.0 auf 2.2

Hallo zusammen,

bin mitten im Update und komme bei der „Wiederinbetriebnahme“ der Graphikanzeige des MYSQL-Tools nicht weiter.

Trotz neuen Möglichkeiten hänge ich an meinen alten Daten.

„chartdchoose.php“ funktioniert, nach Auswahl von „Anzeigen“ geht es mit den Fehlermeldungen los:


Deprecated: Function split() is deprecated in C:\IP-Symcon\webfront\mySQLData2.0.3\src\jpgraph.php on line 347

Deprecated: Function split() is deprecated in C:\IP-Symcon\webfront\mySQLData2.0.3\src\jpgraph.php on line 348

Stundenauswertung: Neue Auswahl Home

Deprecated: Function split() is deprecated in C:\IP-Symcon\webfront\mySQLData2.0.3\chartdgen.php on line 39

Deprecated: Function split() is deprecated in C:\IP-Symcon\webfront\mySQLData2.0.3\src\jpgraph.php on line 6211

Deprecated: Function split() is deprecated in C:\IP-Symcon\webfront\mySQLData2.0.3\src\jpgraph.php on line 6211


Mein Status:

  • Die php_mysql.dll ist 5.3.1
  • die libmysql.dll gibt es nicht mehr, war auch nicht im 5.3.1 Ordner dabei
  • in der SQL-DB sind Daten drin

Hat jemand einen Tipp für mich?

Gruss NBA

PHP: split - Manual

Du kannst explode verwenden.

die libmysql.dll gibt es nicht mehr, war auch nicht im 5.3.1 Ordner dabei

wird nicht mehr benötigt, ist in der php_mysql.dll enthalten.

Hallo zusammen,

vielen Dank, damit habe ich den ersten Fehler wegbekommen.

jpgraph ist ja nichts Selbstprogrammiertes, deshalb habe ich mich da nicht drangetraut.

Google nannte mir als letzte Version: „jpgraph-3.0.7.tar.bz2“. Wenn ich den „scr“ Ordner von meiner Version ersetze durch den Download, kommt nur noch diese Fehlermeldung:


Fatal error: Class ‚PlotLine‘ not found in C:\IP-Symcon\webfront\mySQLData2.0.3\chartdgen.php on line 171

Daraus folgere ich, daß meine jpgraph Version zu alt und die neueste zu neu ist.

Gibt es eine JPgraph Version, die mit dem MYSQL-Tool von bruns8234 und der Version 2.2 zusammenarbeitet?

Gruss NBA

musst Du includen.

require_once($jpgraphpfad."\jpgraph_plotline.php");

Hallo RWN,

ok, das sieht so aus, als ob irgendwo noch ein Eintrag zum Fehlerhandling nötig ist; aber wo?


Warning: require_once(jpgraph_errhandler.inc.php) [function.require-once]: failed to open stream: No such file or directory in C:\IP-Symcon\webfront\mySQLData2.0.3\src\jpgraph.php on line 13

Fatal error: require_once() [function.require]: Failed opening required ‚jpgraph_errhandler.inc.php‘ (include_path=’.;C:\php5\pear’) in C:\IP-Symcon\webfront\mySQLData2.0.3\src\jpgraph.php on line 13

Gruss NBA

ich kenn das Script nicht aber Du musst schon noch den Pfad richtig anpassen zu deinen jpGraph Ordner.

HAllo RWN,

erst einmal vielen Dank für die Geduld - bis jetzt. NAch dem Update auf 2.2 sieht die php.ini immer noch so aus:



extension_dir =C:\IP-Symcon\ext
max_execution_time = 180
enable_dl=Off
register_globals=on
error_reporting=E_ALL
extension = php_curl.dll
extension = php_gd2.dll
extension = php_gettext.dll
extension = php_mysql.dll
extension = php_soap.dll

[Session]
session.save_handler = "files"
session.save_path = "C:\IP-Symcon\web_data\session"
session.auto_start = 0
session.use_trans_sid = 1
session.name = "pt"
[DATE]
date.timezone="Europe/Berlin"
------------------

Das ist doch die Stelle, wo man einen Pfad definieren muss oder?

Gruss NBA

das hat doch nichts mit deinem jpgraph Ordner zutun. Zeig mal das Script wo die Fehlermeldung kommt. Dort muss die Plotline passend zum Pfad eingetragen werden.

Das musst Du jetzt überall nachtragen wo es fehlt.

require_once("./src/jpgraph_plotline.php");

Hallo RWN,

die „Plotline Zeile“ aus dem Tipp von weiter oben, habe ich entsprechend dem vorhandenen Syntax eingefügt.

Gruss NBA



<?
//==================================================================================
// Datei.......: chartdgen.php
// Beschreibung: MySQLData. Modul für Auswertegraphenerzeugung.
//
// Version.....: V2.0.3 - 001
//==================================================================================
require_once("./src/jpgraph.php");
require_once("./src/jpgraph_line.php");
require_once("./src/jpgraph_date.php");
require_once("./scr/jpgraph_plotline.php");  
require_once("./mysql.php");

?>
<html>
<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<link rel="stylesheet" type="text/css" href="./mystyle.css">
</head>
<body>
<center>
<TABLE width="80%"border="0">
	<TR><TD><B>Stundenauswertung:</B></TD>
	<TD align=right><a href="http:./chartdchoose.php">Neue Auswahl</a></TD>
  <TD align=right><a href="http:./index.php">Home</a></TD>
</TR></TABLE><BR><BR>
<?
$fdesign=@$_REQUEST["fdesign"];
$falle=@$_REQUEST["falle"];
$fdate=$_REQUEST["fdate"];
$ftstart=$_REQUEST["ftstart"];
$ftstop=$_REQUEST["ftstop"];

if (date("I",strtotime($fdate))== 1) {
	$toffset = -3600; 
} else {
	$toffset= 0;
}	

// $fselect Array aus der Auswahl erstellen.
$IDS=explode(",",$_REQUEST["fpkeys"]);
$ID = 0;
while ($ID < (count($IDS)-1)) {
 $tempvar = "fselect_".$IDS[$ID]; 
 $fselect[$ID]=""; 
 $fselect[$ID]=@$_REQUEST[$tempvar];
 $ID=$ID+1;
}

// Auswahl der Zeiten checken und evtl. umdrehen.
if (strtotime($ftstart) > strtotime($ftstop)) { $dtemp=$ftstop; $ftstop=$ftstart; $ftstart=$dtemp; }  


// Datenbank oeffnen
$link=dbopen();

// DataConf Variablen aus der Datenbank für Graph Erstellung holen.
$select = "SELECT * FROM dataconf order by description";
$query = mysql_query($select);
$f=0;

// DataConf Daten in Arrays Schreiben und SQL query bauen
$selectvar=""; $f=0;
while($row = mysql_fetch_array($query)) {
 if (in_array($row['ipsvar'],$fselect) or $falle) {
 $chartvars[$f]=$row['ipsvar'];
 $einheit[$f]=$row['einheit'];
 $description[$f]=$row['description'];
 $selectvar=$selectvar.",`".$chartvars[$f]."`";
 $f=$f+1;
}
}

If ($selectvar=="") { echo "Keine Variablen ausgewählt"; mysql_close($link); }
	else {
		
// Daten für Graph Erstellung aus Datenbank holen
$select = "SELECT id,date ,time , polltime ".$selectvar." FROM data where date='".$fdate."' and (time between '".$ftstart."' and '".$ftstop."')" ;
$query = mysql_query($select);
$i=0;
while($row = mysql_fetch_array($query)) {
 $f=0;
 while ($f < count($chartvars)) {
   $ydata[$f][$i]=$row[$chartvars[$f]];
   $xdata[$f][$i] = (strtotime($row['date']." ".$row['time'])+$toffset);
   $ynull[$f][$i] = 0;
   $f=$f+1;
 }
 $i=$i+1;
}
mysql_close($link);


// Grafiken erstellen
$f=0; 
while ($f < count($chartvars)){

// Create the new graph

// Groesse und Farbe des Graphen festlegen
$graph = new Graph(1200,700);
//
// --------------------------------------------------------------> Korrektur Bildgrösse 19.04.2009 Kurt
//
// $graph = new Graph(800,400);
$graph->SetMargin(80,35,40,100);
$graph->SetMarginColor('lightblue@0.4');
//$graph->SetAxisStyle(AXSTYLE_BOXIN);

// Daten an Graph uebergeben und min/max Wert abfragen incl. Design
$line = new LinePlot($ydata[$f],$xdata[$f]); 
$line->SetColor("red");
$line->SetWeight(0);
list($xmin,$ymin) = $line->Min(); 
list($xmax,$ymax) = $line->Max();

// min/max manipulation für Y-Achse und Uebergabe an Graphen zur Skalierung
$graph->SetScale('datlin',($ymin-abs($ymin*0.45)),($ymax+abs($ymax*0.25)),$xmin,$xmax);

if ($ymin < 0) {
// Zusaetzliche Null Line erzeugen
$nullline = new LinePlot($ynull[$f],$xdata[$f]);
$nullline->SetFastStroke();
$nullline->SetWeight(1);
$graph->Add($nullline);
}

// Ueberschrift erstellen

$chartdesc=$description[$f]."
 für den ".date("d.m.Y",$xmin); 

$graph->title->SetFont(FF_ARIAL,FS_NORMAL,10);
$graph->title->Set($chartdesc);

// Gitternetz im Graphen
$graph->xgrid->Show(True);
$graph->xgrid->SetWeight(1);
$graph->xgrid->SetLineStyle('dashed');
$graph->ygrid->Show(True);
$graph->ygrid->SetLineStyle('solid');
$graph->ygrid->SetFill(true,'#EFEFEF@0.5','#FFFFFF@0');

//$graph->xgrid->SetFill(true,'#000000' ,'#FFFFFF');


// Max und Min Wert im Graphen darstellen.
$caption=new Text("Max: ".round($ymax,2)."  Min: ".round($ymin,2),5,20);
$caption->SetFont(FF_ARIAL,FS_NORMAL,9);
$graph->AddText($caption); 

//Ausrichtung Beschriftung der X-Achse bestimmen.
$graph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,8); 
$graph->xaxis->SetLabelAngle(45);
$graph->xaxis->SetLabelAlign('right','top');
$graph->xaxis->scale->SetTimeAlign(MINADJ_5);
$graph->xaxis->SetPos('min');

//Schriftart und Beschriftung der Y-Achse
$graph->yaxis->SetFont(FF_ARIAL,FS_NORMAL,8);
$graph->yaxis->title->SetFont(FF_ARIAL,FS_NORMAL,8);
$graph->yaxis->title->SetAngle(0);
$graph->yaxis->title->SetAlign('left','top');
$graph->yaxis->title->Set($einheit[$f]);

// Mehr Y-Achsen Bespriftung bei Tagesreport 
if (count($xdata[$f]) < 60 ) $graph->xaxis->SetTextLabelInterval(2);

// Design Verbesserung der Graphen
if ($fdesign && $ymin >= 0){$line->SetFillGradient('red','yellow@0.2',70); }
	else { $line->SetFillColor('yellow@0.7');} 

$graph->Add($line);
$graph->AddLine(new PlotLine(VERTICAL,1,"black",0));
$graph->Stroke("./tmp/h".$chartvars[$f].".png");
?>
<img src="./tmp/h<?echo $chartvars[$f];?>.png"><BR><BR>
<?
flush();
$f=$f+1;
}
}
?>
</center>
</body>
</html>

hab mir das mal angesehen, das musst Du überall nachtragen wo es fehlt ansonsten gibt es wieder eine Fehlermeldung.

Dafür muss aber jpgraph 3.0.7 laufen.

Hallo RWN,

ok, alles gemacht:

  • Tippfehler „scr“ - „src“ erkannt und korrigiert
  • jpgraph 3.0.7

Ergebnis:

klappt, beim ersten Aufruf, jedoch :

  • fehlt die Datenlinie (nur die Fläche ist da); kommt wohl aus der hinzudefinierten Plotlinie
  • der „/tmp“ Ordner ist nach jedem Aufruf schreibgeschützt und diese Fehlermeldung kommt:

JpGraph Error: 25111 Can’t delete cached image ./tmp/55486.png. Permission problem?

manuelles Ändern der DAteiattribute und Dateilöschen hilft - ist aber keine Lösung.

Da scheint wohl jetzt grundsätzlich was anders zu sein :-((

Hat es beim Übergang der MySQL-Datenbank von BRUNS8234 zu dem DUG Tool eigentlich eine Übernahme der SQL-Datenbank gegeben?

Gruss NBA

Hat es beim Übergang der MySQL-Datenbank von BRUNS8234 zu dem DUG Tool eigentlich eine Übernahme der SQL-Datenbank gegeben?

soweit ich weis nicht. Die waren da wohl dran aber man hat nichts mehr gehört.