Webseiten im Parallel-Betrieb nicht möglich


EuroCent

Erfahrenes Mitglied
#1
Hallo zusammen,

wir haben aktuell folgendes Problem.

Wir haben 2 Tools die sich nur vom Aussehen und der Funktionalitäten unterscheiden.
Beide benutzen die selbigen Scripte:
diese liegen in einem Ordner
- config
- classes/Session
- classes/User
- classes/Page
- classes/Sql
- classes/Head

Wenn Ich jetzt Tool A auf mache ohne Tool B... dann geht es ohne Probleme.
Wenn Ich jetzt Tool B auf mache ohne Tool A dann wie oben...

Mach Ich aber beide Tools auf, dann hängen sich beide auf und Ich kann auch keine anderen Tools ansteuern.
Ich müsste erst den Browser schließen. Beim schließen werden alle Sessions gelöscht.

Ist es eine Einstellungssache beim Webserver?
Wir verwenden Apache 2.4 und PHP in der Version 7.0.17.

Falls es nicht am Server liegt, woran kann es dann noch liegen?

Dazu muss man auch noch folgendes sagen:
Wir haben einen Test-Server und einen Live-Server.
Auf dem Test Server mit den selbigen Funktionalitäten, kann Ich Tabs und Fenster öffnen und alles ist i.O.
Auf dem Live-Server eben dann nicht, dann tritt das Problem wie oben beschrieben auf. :(

Kann man mir hier weiter helfen?
 

ComFreek

Mod | @comfreek
Moderator
#2
Das Problem liegt wahrscheinlich darin, dass eure Skripte nicht dafür ausgelegt sind. Benutzen Sie gemeinsame Variablen (auch $_SESSION), gemeinsame Daten in Datenbanken oder gemeinsame Dateien?

Ist es eine Einstellungssache beim Webserver?
Sehr unwahrscheinlich. Das Problem liegt mit größter Wahrscheinlichkeit an euren Skripten. Dass es bei einem anderen Server nicht auftritt, liegt wahrscheinlich daran, dass Multithreading-Probleme i. Allg. sehr volatil sind und bei unterschiedlichen Umgebungen, sogar bei derselben Umgebung, mal auftreten und mal nicht.
 

EuroCent

Erfahrenes Mitglied
#3
@ComFreek vielen Dank für deine recht schnelle Antowrt. :)

Wir greifen Daten via $_SESSION ab. :)
Über unsere Session Klasse generieren wir eben für die benutzer die Sessions mit entsprechenden Berechtigungen. :)

Da sie über eine Schnittstelle bei uns auf dem Server als angemeldet werden, ist dies für unsere internen Tolls nicht weiter notwendig.
Dort können wie mit $_SESSION['userData'] entsprechd als Objekt alles abgreifen, berechtigungen etc... :)

Das Phänomen tritt auch nur bei einem Tool auf, alle anderen laufen ohne Probleme.
Mit BS4 und Jquery kann es nicht zusammen hängen?
 

ComFreek

Mod | @comfreek
Moderator
#4
Mit BS4 und Jquery kann es nicht zusammen hängen?
Definitiv nicht. Also wenn ich etwas ausschließe, dann heißt das nur, dass es nicht die eigentliche Ursache sein kann. Dass dadurch ein tieferliegendes Problem zu Tage tritt, kann durchaus sein.

Mach Ich aber beide Tools auf, dann hängen sich beide auf und Ich kann auch keine anderen Tools ansteuern.
Als nächsten Schritt würde ich empfehlen, dieses 'Aufhängen' genau zu bestimmen. Was heißt Aufhängen? Dass beide Websites den Main-JS-Thread durchgehend auf Trab halten (à la `while(true){}`)?
Fehlerkonsole + Breakpoints können hier helfen.
 

EuroCent

Erfahrenes Mitglied
#5
@ComFreek das haben wir bereits gemacht.

Wenn Wir beide Tools auf haben, ist es so, als würde irgendwas im Hintergrund (JS-seitig) ins Unendliche Laufen. Wir haben auch bereits fest gestellt, dass wenn wir das Tool A laden, geht es, laden wir Tool B, läuft es im Hintergrund bis zu diesem Punkt wo dann eine Anmelde-Maske kommt dass wir uns Authentifizieren sollen.

Tool A - verwendet noch eine etwas ältere Technologie, während Tool B eine neue verwendet.
Aber das Phänomen trat erst jetzt auf, obwohl das Tool B lange Online war (Geschätzt 2 Wochen).
Allerdings weiß Ich imo nicht ob es da schon im Einsatz war oder erst tatsächlich durch andere erst seit heute :)

Am kommenden Montag, wollen wir das Script mal komplett raus nehmen und die Funktionen stück für Stück wieder rein nehmen und prüfen.

Wir konnten bisher nicht akut feststellen dass eine Schleife ins Unendliche läuft und somit das dieses Problem zum tragen kommt.

Es scheint auch kein PHP Problem zu sein, sondern eher ein JS Problem Oo
Kann es unter Umständen auch an einer $.each()-Schleife liegen?

Ansonsten könnten wir uns noch einen Ajax-Call vorstellen der auf ein Result wartet.
Aber das erfahren wir erst am Montag :)