[RC] GeoMap 3.0.2 (Usermap) für phpBB3

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
jevo
Mitglied
Beiträge: 367
Registriert: 05.09.2007 13:06
Wohnort: Freiberg

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

Beitragvon jevo » 04.02.2013 18:26

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 :)

Bycoja
Mitglied
Beiträge: 97
Registriert: 22.04.2008 15:57

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

Beitragvon Bycoja » 05.02.2013 00:43

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)

Benutzeravatar
jevo
Mitglied
Beiträge: 367
Registriert: 05.09.2007 13:06
Wohnort: Freiberg

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

Beitragvon jevo » 05.02.2013 08:49

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

Bycoja
Mitglied
Beiträge: 97
Registriert: 22.04.2008 15:57

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

Beitragvon Bycoja » 05.02.2013 18:11

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.

Benutzeravatar
jevo
Mitglied
Beiträge: 367
Registriert: 05.09.2007 13:06
Wohnort: Freiberg

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

Beitragvon jevo » 05.02.2013 22:52

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)

Bycoja
Mitglied
Beiträge: 97
Registriert: 22.04.2008 15:57

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

Beitragvon Bycoja » 06.02.2013 10:23

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.

Benutzeravatar
jevo
Mitglied
Beiträge: 367
Registriert: 05.09.2007 13:06
Wohnort: Freiberg

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

Beitragvon jevo » 06.02.2013 11:31

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.

Benutzeravatar
jevo
Mitglied
Beiträge: 367
Registriert: 05.09.2007 13:06
Wohnort: Freiberg

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

Beitragvon jevo » 06.02.2013 20:14

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...

Benutzeravatar
kacksack
Mitglied
Beiträge: 71
Registriert: 06.08.2008 02:00

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

Beitragvon kacksack » 07.02.2013 00:26

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

Benutzeravatar
jevo
Mitglied
Beiträge: 367
Registriert: 05.09.2007 13:06
Wohnort: Freiberg

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

Beitragvon jevo » 07.02.2013 08:30

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...


Zurück zu „[3.0.x] Mods in Entwicklung“