[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Redaxo ist unsicher / instabiel und keiner macht was.... - Seite 2 - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
Koala
Beiträge: 1612
Registriert: 3. Okt 2005, 13:20

30. Jun 2007, 10:48

headcrash hat geschrieben:
ATLAS hat geschrieben:"Einfach" ist ja eben gerade ein Grundlayout OHNE Bilder. Und mit "selber zimmern" sprichtst du ja genau den Punkt an. Ein Nutzer will ja meist nicht viel selber zimmern. Er will es benutzen.
Ich denke, es wird wirklich Zeit für die FAQ, wo näher definiert ist, was Redaxo ist und an wen es sich im besonderen wendet, sonst gibt es diese Diskussion in 100 Fortsetzungen ;)
Ähm ... da gibt es doch dieses ... ähm ... Wiki. Hier kann jeder seinen Beitrag zu Redaxo niederschreiben. Ist besser als eine reine Sammlung von Fragen und Antworten (FAQ) :D

Aber eigentlich gibt es bereits eine Beschreibung zu Redaxo auf Wikipedia. Evtl. wäre es Sinnvoll diese Auszubauen und dann darauf zu verweisen ... obwohl ... eine gewisse Beschreibung gehört auch eher in die Doku.
<?php print $Footer; ?>

Sven

Ich würde ja die Welt verändern,
doch der Quellcode ist mir zu absurd!


REX 5 :: Tricks und Tipps
REX 5 :: Modulesammlung

Wiki zu Redaxo 3 und 4 (!nur noch im Webarchiv!)

dag
Beiträge: 369
Registriert: 24. Aug 2004, 22:11
Wohnort: Dortmund
Kontaktdaten: Website

30. Jun 2007, 15:11

... obwohl ... eine gewisse Beschreibung gehört auch eher in die Doku.
Diese Beschreibung ist bereits in der Doku:
http://www.redaxo.de/232-0-a-0-ueber-redaxo.html

Grüße
Dagmar

ATLAS
Beiträge: 29
Registriert: 26. Nov 2006, 20:13
Wohnort: Berlin

30. Jun 2007, 17:55

@ therancher
Das Grundlayout habe ich natürlich für meine Seiten selbst erstellt.
Richtig ist aber auch, das man sich bei Unzufriedenheit besser andere Systeme sucht.
Damit kann man das gut beenden und sich mit voller Kraft in die Untiefen des neuen Systems stürzen.
Gruss
ATLAS

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

30. Jun 2007, 21:24

Hi zusammen,

das einzig konstruktive aus dem ersten Beitrag (Abschnitt 1) ist jetzt für die nächste R3.3 Beta im CVS.

Die Geschichte mit den Passwörtern wurde wie bereits erwähnt schon mal diskutiert und ist deshalb auch so wie es ist (Wer sich daran stört, kann die Passwortverschlüsselung einschalten).

Zu den anderen Punkten gibt es nichts mehr hinzuzufügen.

Gruß,
Markus

chris-b
Beiträge: 84
Registriert: 23. Aug 2006, 11:54
Kontaktdaten: Website

1. Jul 2007, 22:26

Roma locuta, causa finita

muadib2000
Beiträge: 52
Registriert: 19. Sep 2006, 11:06

2. Jul 2007, 09:50

kills hat geschrieben:das einzig konstruktive aus dem ersten Beitrag (Abschnitt 1) ist jetzt für die nächste R3.3 Beta im CVS.
Hallo Kills,

gibst Du uns noch einen kleinen Hint, wo Du das eingebaut hast. Ich würde es mir gerne in meine 3.2er Version einbauen. :wink:

Danke

Stefan

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

2. Jul 2007, 13:37

Hi Stefan,
muadib2000 hat geschrieben: gibst Du uns noch einen kleinen Hint, wo Du das eingebaut hast. Ich würde es mir gerne in meine 3.2er Version einbauen. :wink:
schau mal hier:
class.rex_sql.inc.php
index.php (FE)
index.php (BE)

du wirst aber auch noch die Methode getInstance() mitkopieren müssen (geht nicht aus den Diffs oben hervor..)

Gruß,
Markus

majestyk
Beiträge: 21
Registriert: 16. Okt 2006, 20:40

2. Jul 2007, 17:15

Hallo kills,

Dieses Singleton getInsance schließt doch nur ein einziges sql-Objekt oder nicht? Und jedes einzelne in Redaxo verwendete "new sql" macht doch eine neue Verbindung auf?

Solange man nicht im gesamten Redaxo-Kern immer mit getInstance arbeitet, bringt das Schließen einer einzigen Verbindung doch gar nichts, oder liege ich da falsch?

Was ist mit PHP selbst? Soviel ich weiß schließt PHP doch nicht benötigte DB-Verbindungen von alleine?

Performanter wäre es jedenfalls, die gesamte SQL-Klasse nur noch per Singleton anzusprechen, oder ist das in 3.3. schon so gemacht?.

Gruß!

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

2. Jul 2007, 17:22

Hi,

das Singelton ist jetzt mal implementiert, ob das nun die Leute in Ihren Modulen/Templates verwenden ist eine andere Geschichte..

Unabhängig davon:
Da rex_sql::disconnect() immer als letzte Anweisung eines requests passiert, und alle sql objekte die gleiche Datenbankverbindung verwenden sollte das so funktionieren.

Gruß,
Markus

majestyk
Beiträge: 21
Registriert: 16. Okt 2006, 20:40

2. Jul 2007, 18:03

Hmmm, verstehe ich nicht so ganz.

m.E. verwenden alle sql-objekte eigene Datenbankverbindungen.
jede "new sql" Instanz baut ihre eigene Verbindung auf.

Nun wird am Schluß einmal "getInstance" aufgerufen und gepüft, ob static $instance gesetzt ist. Ist es aber nicht, wenn getInstance vorher noch nirgendwo aufgerufen worden ist.

Daher erstellt getInstance am Ende der index.php noch mal kurz ein sql-Objekt, baut eine Verbindung auf und schließt diese dann gleich wieder.
Alle anderen, vorher geöffneten Datenbankverbindungen bleiben bestehen. Jedenfalls verstehe ich das so?

Gruß!

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

2. Jul 2007, 19:25

Hi,

wenn man mysql_connect()/mysql_pconnect() mehrfach in einem PHP Script aufruft mit dem gleichen MySQL User als Paramter, dann erhält man einfach eine Referenz auf die schon bestehende Verbindung und keine neue. Daher reicht es auch, wenn man nur einmal ein mysql_close() aufruft.

Gruß,
Markus

majestyk
Beiträge: 21
Registriert: 16. Okt 2006, 20:40

2. Jul 2007, 19:35

Einmal quengele ich noch: :wink:

Laut php.net:

mysql_pconnect() verhält sich sehr ähnlich zu mysql_connect(), weist aber zwei wesentliche Unterschiede auf.

Erstens: vor dem Verbindungsaufbau wird zunächst versucht eine offene (persistente) Verbindung zum gleichen Host, mit dem gleichen Benutzernamen und Benutzerkennwort zu finden. Wenn das gelingt, wird die Verbindungskennung dieser Verbindung zurückgeliefert anstatt eine neue Verbindung aufzubauen.

Zweitens: die Verbindung zum SQL Server wird beim Beenden des PHP-Skripts nicht geschlossen. Sie bleibt zur zukünftigen Verwendung bestehen. (mysql_close() schließt keine von mysql_pconnect() geöffneten Verbindungen).


Gruß!

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

2. Jul 2007, 19:37

Hi,

dann wissen wir jetzt auch, warum wir die ganze Zeit kein mysql_close() gebraucht haben... (und das die ursprüngliche Behauptung des Threadstellers falsch war)

Gruß,
Markus

Bogus
Beiträge: 27
Registriert: 25. Jun 2007, 17:42

3. Jul 2007, 11:42

Back to Topic:
ATLAS hat geschrieben:Wenn der Bär den Honig will, muss er sich nicht wundern, wenn er gestochen wird. :wink:

Prinzipiell hat er aber ein Paar gute Punkte angesprochen. Problem ist eher, das hier viele Bastler vertreten sind. Bastler ist damit nicht negativ gemeint, sondern soll lediglich den Unterschied zum Nutzer hervorheben.
Für den reinen Nutzer ist dieses System eher nicht geeignet, das denke ich schon.
Auch die Layoutsituation hat er richtig erkannt. Auch mir ist es ein Rätsel, warum heute alle Systeme aus schmalen Handtüchern bestehen, die mit Bildchen zusammengeklebt werden und ohne Bildchen ihren Halt verlieren. Einen sauber programmierten Style in voller Breite, bei denen alle Bereiche farblich per css angepasst werden können, gibt es fast gar nicht. Und ich habe noch niemanden kennen gelernt, der das Originaldesign so hätte belassen wollen.
hi ;)

Da kann ich dem nur zustimmen.

Das problem haben aber viele Entwickler, das sie nur aus ihrer Sicht das ganze entwickeln und nicht von der Sicht eines users. Aber dafür sind eignetlich dann die Beta-Tester da, diese sollten nicht unbedingt entwickler sein bzw. es sollten ne gute Mischung seine. Aus normalen Anwendern und Programmierern die sich auskennen, die dann auch Bugs erkennen.

Aber in grossen und ganzen ist Redaco ein gutes CMS. Wenn ich bei einigen sachen auch noch nicht so durchblicke *gg* Und das mit der guten Community, bin da zwiegespalten. Auf mein einen Posting, wegen einen Weblinks Modul wurde noch nicht geantwortet. Vieleicht weil es zu schwer ist umzusetzen bzw. oder halt weil es keinen intressiert.

Bin aber sehr gespannt auf die folgenden Versionen ;D

Nachtrag: WAs mich auch sehr verwirrt bei den Templates, sind diese Ausdrücke wie Navigation ebene.. Ich kann mir nichts drunter vorstellen, vielleicht weil ich auch vorher bei anderen CMS nie was damit zutun hatte.

Und noch eine kleine Kritik, Bitte macht die Doku bisschen lessenswerter. Manche Sachen, kann man als normaler Anwender nicht nachvollziehen. Ausser man hat vorher schon mit anderen CMS System ERfahrungen gesammelt ;D
Greetings

Bogus | pinguinsreisen.de

TomHH
Beiträge: 379
Registriert: 7. Nov 2005, 17:57
Wohnort: Hamburg

3. Jul 2007, 12:23

Bogus hat geschrieben:Und das mit der guten Community, bin da zwiegespalten. Auf mein einen Posting, wegen einen Weblinks Modul wurde noch nicht geantwortet. Vieleicht weil es zu schwer ist umzusetzen bzw. oder halt weil es keinen intressiert.
... oder vielleicht weil Du nicht genau sagst was Du willst bzw. wo Dein Problem liegt!? (ist nicht böse gemeint - nur ein Hinweis! ;-) ) Zitat: 'Halt was womit man ne Linkssammlung aufbauen kann. Mit Bild etc.' - das ist einfach zu ungenau! Wenn die Leute erst nachfragen müssen was Du willst wird die Hilfe spärlich ausfallen. Je präziser die Frage, desto schneller die Antwort! ;-)
Nachtrag: WAs mich auch sehr verwirrt bei den Templates, sind diese Ausdrücke wie Navigation ebene.. Ich kann mir nichts drunter vorstellen, vielleicht weil ich auch vorher bei anderen CMS nie was damit zutun hatte.
Das Problem hatte ich auch. Und man wird es immer haben, wenn man sich mit einer Sache neu beschäftigt.
Und noch eine kleine Kritik, Bitte macht die Doku bisschen lessenswerter. Manche Sachen, kann man als normaler Anwender nicht nachvollziehen. Ausser man hat vorher schon mit anderen CMS System ERfahrungen gesammelt ;D
Das sollte man versuchen! Ich bin ein großer Freund von Beispielen, die einen Sachverhalt konkretisieren.

Grüße, Tom

Bogus
Beiträge: 27
Registriert: 25. Jun 2007, 17:42

3. Jul 2007, 14:27

Magst recht haben das ich ungenau war, aber unter Linkssammlung kann sich doch jeder was vorstellen oder irre ich mich ? Wenn es kein Modul gibt, dann ist das nicht schlimm, dann überleg ich mir halt was.

Aber das müsste man halt auch erst erfahren *gg*
Greetings

Bogus | pinguinsreisen.de

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

3. Jul 2007, 14:39

Bitte nur noch Beiträge bzgl Thema.

michael
Beiträge: 1
Registriert: 4. Jul 2007, 18:53
Wohnort: Raisting / Ammersee
Kontaktdaten: Website

Redaxo Anfänger

4. Jul 2007, 19:20

Habe gerade meine ersten Gehversuche in REDAXO hinter mich gebracht.
Heute habe ich mich im Forum angemeldet. Ich bin über den Beitrag von Haxley gestolpert und habe auch Jans antwort gelesen.
Ich bereue es jedenfalls nicht, bereits jetzt REDAXO "heiss" einzusetzen.
Ich bin der Meinung, dass diese sonderbare Ausdrucksweise sowie die Unfähigkeit einfache Wörter richtig zu schreiben nicht in dieses Forum passen.

Aemilia
Beiträge: 136
Registriert: 6. Jul 2007, 12:14
Wohnort: Friedrichsdorf
Kontaktdaten: Website Facebook

6. Jul 2007, 12:19

ich gucke mir redaxo seit gestern an. also noch nicht besonders lang, habe aber eigentlich keine Probleme gehabt meinen Code einzufügen und war ziemlich begeistert von der einfachheit des Backends... was heißt war, bin!

ich werde redaxo weiter studieren, die zeile mit den passwörtern umstellen (danke für den tip) und wollte iegentlich nur kurz ein lob an die 3 Entwickler und ihre helfer aussprechen!

ich bin gespannt, was da noch alles passiert!

in diesem Sinne, dont worry be happy!

muadib2000
Beiträge: 52
Registriert: 19. Sep 2006, 11:06

24. Aug 2007, 19:23

kills hat geschrieben:dann wissen wir jetzt auch, warum wir die ganze Zeit kein mysql_close() gebraucht haben... (und das die ursprüngliche Behauptung des Threadstellers falsch war)
Hallo Kills,

leider mußte ich heute feststellen, daß Deine Aussage nicht ganz richtig ist, denn dank mysql_pconnect habe ich jede Menge offener DB-Verbindungen, die bei meinem Projekt bereits zum aussetzen der Datenbank geführt haben. Ich weiß nicht genau warum es aus Entwicklersicht unbedingt mysql_pconnect sein muß, was also der Vorteil der persistenten Verbindung ist, wenn sich dafür anschließend lauter Sleep-Prozesse in der DB finden, die sicher nicht für Performancegewinne sorgen. Wo ist also aus Eurer Sicht der Vorteil. Wenn es keinen gibt oder dieser durch die vielen offenen Verbindungen wieder 'aufgefressen' wird, wäre ich dafür das Ganze zu ändern oder wenigstens einen Timeout oder der gleichen zu installieren. Wobei ich fürchte, daß das eine MySQL-Einstellung ist, die Root-Zugriff erfordert zumindest hab ich das lokal nicht anders hinbekommen.

hier übrigens noch ein schöner Artikel zum Thema http://php-wiki.de/index.php/Features.p ... onnections

Grüße

Stefan

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

24. Aug 2007, 20:08

Hi Stefan,

bei persistenten Verbindungen sollte der PHP Prozess immer wieder die gleiche Verbindung aufgreifen.

Dies hat den Vorteil, dass keine neuen aufgebaut werden muss (was relative lange dauert)

Gruß,
Markus

muadib2000
Beiträge: 52
Registriert: 19. Sep 2006, 11:06

24. Aug 2007, 21:29

Hallo Kills,

Danke für die Info, nachdem ich mich heute den halben Tag mit der Materie auseinander gesetzt habe, weiß ich um diese Zusammenhänge. Fakt ist, mein, wenn auch recht kleiner Server (MySQL) riß heute wegen zahlreicher offener Verbindungen die Hufe hoch. Es handelt sich bei der Seite, daß sollte ich vielleicht noch anfügen, um keine kleine Website mit ein paar Artikeln sondern um eine große Site mit aktuell 470 Artikeln Tendenz steigend, außerdem werden weitere Sprachen folgen.

In diesem Threat http://forum.redaxo.de/ftopic2176.html wird das Thema ja ebenfalls behandelt allerdings, wohl eher mit Halbwissen:
ruwe hat geschrieben:Resultat ist dabei jedenfalls, dass wohl Verbindungen länger offen bleiben, und ich dadurch zuviele gleichzeitig bekomme. Du kannst hier aber noch mal etwas anderes testen.
Es ist möglich das Timeout der offenen ungenutzen Verbindungen herunter zu setzen damit diese geschlossen werden. Dazu genügt ein Eintrag in der .htaccess:

Code: Alles auswählen

php_value mysql.connect_timeout 20
Diese Info habe ich aus dem MySQL manual (Posted by Gary Lawrence Murphy on December 15 2004 5:03pm)
Soweit ich es heute herausgefunden habe, kann das nicht funktionieren, da die Sleep-Prozesse nur von mySQL gesteuert und auch gekillt werden können. Erst mit einer Änderung in meine mySQL-Config habe ich ein Löschen der Prozesse (nach 30 sec Inaktivität) in der Prosesslist meines PHPmyAdmin verzeichnen können. Ich bin kein Crack und es hat mich reichlich Zeit gekostet hinter all das zu steigen. Für Otto-Normal-Redaxo-Benutzer ist das in meinen Augen nichts, womit er sich beschäftigen mag oder das ihm überhaupt mögliche Probleme bereiten sollte. Ich denke daher, daß bei allen potentiellen Vorteilen, die eine persistente Verbindung performancetechnisch verspricht. Ein simples connect, daß sich auch sicher wieder schließt, die bessere Wahl wäre. Es ist Eure Sache (also die der Core-Entwickler), das zu entscheiden und mir soll's im Zweifelsfall auch egal sein, denn ich weiß ja mittlerweile was man bei entsprechenden Problemen tun kann. Der Hinweis war mir jedoch wichtig.

Grüße

Stefan

Benutzeravatar
Koala
Beiträge: 1612
Registriert: 3. Okt 2005, 13:20

25. Aug 2007, 12:10

muadib2000 hat geschrieben:... und mir soll's im Zweifelsfall auch egal sein, denn ich weiß ja mittlerweile was man bei entsprechenden Problemen tun kann.
Könntest du hier (oder per PM) etwas genauer schildern, was du bei entsprechenden Problemen tun würdest?
Evtl. könnte man ja damit den FAQ-Beitrag im Wiki ergänzen.
<?php print $Footer; ?>

Sven

Ich würde ja die Welt verändern,
doch der Quellcode ist mir zu absurd!


REX 5 :: Tricks und Tipps
REX 5 :: Modulesammlung

Wiki zu Redaxo 3 und 4 (!nur noch im Webarchiv!)

muadib2000
Beiträge: 52
Registriert: 19. Sep 2006, 11:06

25. Aug 2007, 13:02

Koala hat geschrieben: Könntest du hier (oder per PM) etwas genauer schildern, was du bei entsprechenden Problemen tun würdest?
Evtl. könnte man ja damit den FAQ-Beitrag im Wiki ergänzen.
Ich dachte das ginge aus meinem Beitrag bereits hervor. Ich würde in der Datei: class.sql.inc.php mysql_pconnect:

Code: Alles auswählen

$this->identifier = @ mysql_pconnect($REX['DB'][$DBID]['HOST'], $REX['DB'][$DBID]['LOGIN'], $REX['DB'][$DBID]['PSW']);
durch mysql_connect ersetzen

Code: Alles auswählen

$this->identifier = @ mysql_connect($REX['DB'][$DBID]['HOST'], $REX['DB'][$DBID]['LOGIN'], $REX['DB'][$DBID]['PSW']);
Wenn man bei seinem Server Root-Zugriff hat oder seinen Hoster überzeugen kann, sollte man (wenn nicht schon geschehen) in der Datei my.cnf im Ordner mysql\bin unter "skip-innodb" folgenden Eintrag hinzufügen bzw. die Auskommentierung entferenen.

Code: Alles auswählen

skip-innodb 
# Uncomment the following if you are using InnoDB tables 
set-variable = interactive_timeout=30
Die Zahl gibt übrigens die Sekunden bis zum Timeout an. Außerdem kann es zu Problemen kommen wenn die Zahl der persistenten Verbindungen begrenzt ist, es sollte also idealer Weise keine Beschränkungen in dieser Hinsicht geben.

Ich will noch hinzufügen, daß ich MySQL 4.0.25 verwende und, daß sich jeder gut überlegen sollte in der Config etwas zu ändern, wenn er nicht weiß was er da tut. Wie es in MySQL 5 aussieht, weiß ich allerdings nicht.

Bei Problemen ist es daher in meinen Augen am einfachsten und sinnvollsten von pconnect auf connect umzustellen.

Grüße

Stefan

Benutzeravatar
Koala
Beiträge: 1612
Registriert: 3. Okt 2005, 13:20

25. Aug 2007, 15:51

muadib2000 hat geschrieben:Ich dachte das ginge aus meinem Beitrag bereits hervor. Ich würde in der Datei: class.sql.inc.php mysql_pconnect:
Das steht ja auch so im Wiki :-)
muadib2000 hat geschrieben:Wenn man bei seinem Server Root-Zugriff hat oder seinen Hoster überzeugen kann, sollte man (wenn nicht schon geschehen) in der Datei my.cnf im Ordner mysql\bin unter "skip-innodb" folgenden Eintrag hinzufügen bzw. die Auskommentierung entferenen.

Code: Alles auswählen

skip-innodb 
# Uncomment the following if you are using InnoDB tables 
set-variable = interactive_timeout=30
Die Zahl gibt übrigens die Sekunden bis zum Timeout an. Außerdem kann es zu Problemen kommen wenn die Zahl der persistenten Verbindungen begrenzt ist, es sollte also idealer Weise keine Beschränkungen in dieser Hinsicht geben.
Das meinte ich.
Allerdings sieht das bei mir in der /etc/mysql/my.cnf (Debian Sarge System) anders aus. Dort gibt es diese Zeile gar nicht.
Bei mir würde der Eintrag so aussehen müssen:

Code: Alles auswählen

 interactive_timeout = 30
Per Default steht dieser Wert bei mir auf 28800 Sekunden!

ABER, das kann man auch mit Redaxo eigenen Mitteln erreichen :-)
Du hast mich da auf eine Idee gebracht. Folgendes ist Sache:
Bei der MySQL-Variable interactive_timeout handelt es sich um eine Variable, welche auch zur Laufzeit geändert werden kann.
Daraus folgt, das lediglich eine einzige Zeile in der classes/class.sql.inc.php hinzugefügt werden muss:

Code: Alles auswählen

    // MySQL Version bestimmen
    if ($REX['MYSQL_VERSION'] == '')
    {
      $this->setQuery('SET interactive_timeout = 30');
      $this->setQuery('SELECT VERSION() as VERSION');
...
SET interactive_timeout = 30 setzt den Wert wärend der Laufzeit auf 30

Ein ähnliches Problem gibt es bei bei der Verwendung von MySQL5 mit der MySQL-Variablen sql_mode (siehe FAQ).

PS: Ein entsprechender Wiki-Eintrag folgt später.


[EDIT]
Nachtrag: Wie ich gerade feststellen musste, hat diese Einstellung aber keinen Einfluss auf die schlafenden Prozesse :?
Bei meinen Tests wurden bis zu 7 Prozesse gestartet und keiner wurde nach dem Ablauf des Timeout sofort wieder beendet. Einige wurden dann aber auch "wiederverwendet". D.h., das die ProzessID die gleiche blieb (auch nach dem Timeout).
Am Ende ist die Sache mit dem pconnect wohl sehr von der Systemumgebung der DB und einem gewissen Finetuning bei entsprechend belasteten Servern abhängig.
Somit könnte man sagen das pconnect eine gute Wahl bei entprechender Systemumgebung ist und man bei den ersten Anzeichen von Problemen (wie z.B. keine Verbindung mehr zu DB) besser auf connect umstellen sollte.
<?php print $Footer; ?>

Sven

Ich würde ja die Welt verändern,
doch der Quellcode ist mir zu absurd!


REX 5 :: Tricks und Tipps
REX 5 :: Modulesammlung

Wiki zu Redaxo 3 und 4 (!nur noch im Webarchiv!)

Zurück zu „Allgemeines [R3]“