Seite 3 von 25

Re: [BETA] GeoMap 3.0.0 (Usermap) für phpBB3

Verfasst: 04.02.2013 18:26
von jevo
ich vermute daß der Mod auch mit MySQL 4 geht. Hab bis jetzt nur im Installer einen Aufruf gefunden, der SQL 5 ist

Da ich keine Möglichkeit habe das zu testen, hoffe ich momantan auf MirkoKraus :)

Re: [BETA] GeoMap 3.0.0 (Usermap) für phpBB3

Verfasst: 05.02.2013 00:43
von Bycoja
jevo hat geschrieben:Alles klar ... php5 und mysql5 sollten schon vorhanden sein :)

Du kannst es gerne probieren - ich schicke dir mal eine PN (muß erst mal die DB extraieren)
Gleiches Problem... hätte auch gerne eine PN (oder noch besser Kompatibilität mit mysql4)

Re: [BETA] GeoMap 3.0.0 (Usermap) für phpBB3

Verfasst: 05.02.2013 08:49
von jevo
hast PN - dankeschön für's testen.

Version 3.0.1 kommt wohl auch demnächst - da werde ich das gleich mit ändern.

In der 3.0.0 sind ein paar Bugs drinn - aber nix kritisches ...

PS: alternativ kannst du das Packet noch mal runterladen - da habe ich die Änderung auch mittlerweile drinn

Re: [BETA] GeoMap 3.0.0 (Usermap) für phpBB3

Verfasst: 05.02.2013 18:11
von Bycoja
An der Engine (wie in der PN vermutet) lag es nicht. Konnte den Fehler im Installer ab Zeile 498 lokalisieren:

Code: Alles auswählen

include($phpbb_root_path . 'config.' . $phpEx);
	$mydatabase = mysql_connect($dbhost, $dbuser, $dbpasswd);
	mysql_select_db($dbname, $mydatabase);
	mysql_set_charset('utf8');

	for($j = 0;$j<6;$j++)
	{
		$sql = '';
		$datei = fopen($phpbb_root_path . 'install/sql_data/geosql_' . $j,"r");
		while(!feof($datei))
		{
			$zeile = fgets($datei,1024);
            $zeile =  explode('	', $zeile);
			if (!empty($zeile[0]))
			{
				if ($sql == '')
				{
					$sql = 'INSERT INTO ' .  GEOMAP_POSTCODE_TABLE . ' VALUES ' . '('.$zeile[0].',\''.$zeile[1].'\','.$zeile[2].','.$zeile[3].','.$zeile[4].',N\'' . mysql_escape_string($zeile[5]) . '\')';
	   			}
	   			else
	   			{
					$sql .= ',('.$zeile[0].',\''.$zeile[1].'\','.$zeile[2].','.$zeile[3].','.$zeile[4].',N\'' . mysql_escape_string($zeile[5]) . '\')';
	   			}
	  		}
		}
		fclose($datei);
		mysql_query($sql);
		$out = $sql;
	}
	
	mysql_close($mydatabase);
PHP spuckt folgende Fehlermeldung aus:
[phpBB Debug] PHP Warning: in file [ROOT]/install/index.php on line 524: mysql_query() [function.mysql-query]: MySQL server has gone away
[phpBB Debug] PHP Warning: in file [ROOT]/install/index.php on line 524: mysql_query() [function.mysql-query]: Error reading result set's header
Scheinbar gibt es Probleme mit der Datenbankverbindung - was wohl darauf zurückzuführen ist, dass du nicht den DBAL von phpbb nutzt. Nachdem ich den obenstehenden Teil auskommentiert habe (da dort eh nur Daten eingetragen werden), läuft der Installer problemlos durch. Ich würde dir also empfehlen, diesen Teil des Codes unter Verwendung der phpbb-Datenbankverbindung zu überarbeiten.

Re: [BETA] GeoMap 3.0.0 (Usermap) für phpBB3

Verfasst: 05.02.2013 22:52
von jevo
Hmm ich sehe das Problem... da hat wohl das Query Timeout zugeschlagen - oder meine Query-Size ist für mysql4 zu groß

Das Problem ist, daß die UMIL Funktion für diesen Zweck beliebig langsam (und buggy) ist. Deshalb habe ich dafür eine Direktverbinung gewählt. Damit wird das Query bei mir in in knapp 7s abgearbeitet. Nagut - meine Box ist auch ein kleiner Teufel :)

Ich hatte das auch über die DBAL Funktion von phpBB versucht - das würde aber über 20 Minuten dauern :o :o :o . Selbst wann man das staffelt, würde dann das PHP Timeout kommen. Alternative wäre eine Option, wie wenn man den Suchindex von phpBB neu aufbauen lässt - mit einem Browser Reload. Schon komisch, daß phpBB dann Stunden für eine Funktion braucht, die man normalerweise in Minuten abarbeiten könnte. Das wollte ich halt hier vermeiden.

k.a. Warum die phpBB Funktion da so lahm ist, denn 100000 Datensätze sind ja nicht wirklich viel. Packt man das gescheit zusammen, geht das mit einem Fingerschnipp.

Dauert es eine Weile, bis die Fehlermeldung kommt, oder geht das relativ schnell?

Ich könnte die PLZ Daten kleiner splitten. Im Moment fasse ich 20000 Datensätze zu einem Query zusammen (sind rund 2MB pro Query). Ich könnte das in mehr noch keinere Packete teilen, bräuchte aber jemanden mit einem mySQL4 Server, der das für mich testet...

PS: der Installer ist so gemacht, daß er beliebig oft ausgeführt werden kann. Das Einzige, was man evtl machen muß, ist in der phpbb_config Tabelle die "geomap_mod_version" löschen und den Cache leeren

Als Schnellversuch könnte ich dir mal eine Version des Installers anbieten, bei dem ich die Querygröße auf 2500 Einträge pro Query verkleinert habe:

http://geoversion.fmode.de/geomap_3.0.0_dev.tar.bz2

Ich überlege aber mal, wie ich das "Problem" besser lösen kann. Evtl. weis hier einer von den phpBB Gurus wie man ''mal fix" 100000 Datenbankleinträge einfügen kann, ohne vor einem Fenster zu sitzen, was einem sagt, daß 237,3 Zeilen pro Sekunde eingefügt wurden. Da wäre man sogar im phpmydamin schneller ;) (kein Witz)

Re: [BETA] GeoMap 3.0.0 (Usermap) für phpBB3

Verfasst: 06.02.2013 10:23
von Bycoja
jevo hat geschrieben: Als Schnellversuch könnte ich dir mal eine Version des Installers anbieten, bei dem ich die Querygröße auf 2500 Einträge pro Query verkleinert habe:

http://geoversion.fmode.de/geomap_3.0.0_dev.tar.bz2
Funktioniert immer noch nicht.. dauert jetzt aber länger, bis die Fehlermeldung kommt.

Re: [BETA] GeoMap 3.0.0 (Usermap) für phpBB3

Verfasst: 06.02.2013 11:31
von jevo
hmmm *grübel*

Hättest du auch die Möglicheit eine SQL Datei direkt einzuladen?

Ich schau mal, ob/wie man die paar Datensätze in endlicher Zeit in den SQL Server bekommen und dabei die diakritischen Zeigen erhalten konnte, wenn man den phpBB Way nimmt.

Re: [BETA] GeoMap 3.0.0 (Usermap) für phpBB3

Verfasst: 06.02.2013 20:14
von jevo
Ok .. ich glaub ich muß den Installer komplett neu bauen um das Teil für MySQL 4 kompatibel zu bekommen ...

Naja - dafür ist es eine BETA ;)

Ich habe dazu mal einen Hinweis im Eingangsbeitrag angefügt. Ich will auf jeden Fall, daß das Teil auch unter MySQL 4 läuft...

Re: [BETA] GeoMap 3.0.0 (Usermap) für phpBB3

Verfasst: 07.02.2013 00:26
von kacksack
Servus.
Bei mir macht der Installer die gleichen Probleme.
Wenn ich die Zeilen 512 bis 541 aus dem Installer auskommentiere, läuft er durch, aber die Map funktioniert halt nicht korrekt.

MySQL Version: 5.0.22
PHP Version 5.2.6

Auf meinem zweiten System ebenfalls dieselben Schwierigkeiten..
MySQL Version: 5.1.33
PHP Version 5.2.6

Re: [BETA] GeoMap 3.0.0 (Usermap) für phpBB3

Verfasst: 07.02.2013 08:30
von jevo
Ok - danke dir für die Rückmeldung.

Ich habe das Grundgerüst des Installers via meta_refresh fast fertig. Muß das Teil nur noch mit leben füllen.

Damit sollte dann allen PHP und mySQL Timeouts aus dem Wege gegangen sein ...

Bei der GeoMap 2.2.8 war der Installer ähnlich gelöst, nur waren es da nicht so viele Datensätze, wie es jetzt sind :) Das ist wahrscheinlich auch jetzt das Problem...