php erzeugt ein Timeout 504

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
willstdueswissen
Mitglied
Beiträge: 47
Registriert: 22.01.2014 16:47

php erzeugt ein Timeout 504

Beitrag von willstdueswissen »

Ein etwas längerer Script, dauert zu lange und es gibt den 504 Gateway Time-out Fehler.
Ich habe leider keine Berechtigung die php.ini zu ändern oder fsocken zu benutzen.
Wie kriege ich es hin das die Datei vollstaändig durchläuft
Wenn ich Werbung sehen will, gucke ich Fernsehen.
Benutzeravatar
Crizzo
Administrator
Administrator
Beiträge: 12113
Registriert: 19.05.2005 21:45
Kontaktdaten:

Re: php erzeugt ein Timeout 504

Beitrag von Crizzo »

Hi,

dazu wäre Interesse zu wissen, um welche Datei es sich handelt. ;)

Grüße
willstdueswissen
Mitglied
Beiträge: 47
Registriert: 22.01.2014 16:47

Re: php erzeugt ein Timeout 504

Beitrag von willstdueswissen »

Es ist eine Php Datei die Daten recusiv per ftp auf einem server lädt
Wenn ich Werbung sehen will, gucke ich Fernsehen.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: php erzeugt ein Timeout 504

Beitrag von gn#36 »

Wenn die Dateien alle klein genug sind dass man sie in einem Durchlauf transferiert kriegt:
  1. Dateigrößen bestimmen
  2. Dateien zu gleich großen Paketen zusammenfassen die sich jeweils in der Laufzeit eines Skriptaufrufs schaffen lassen
  3. Das Skript mit einem Refresh regelmäßig neu Aufrufen bis die Liste abgearbeitet ist
Wenn nicht musst du auf beiden Enden der Verbindung die Dateien manipulieren können (=große Dateien in Häppchen Teilen, übertragen und anschließend wieder zusammensetzen) oder die Daten anders transferieren.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
willstdueswissen
Mitglied
Beiträge: 47
Registriert: 22.01.2014 16:47

Re: php erzeugt ein Timeout 504

Beitrag von willstdueswissen »

Das Problem ist dabei es muss immer der Benutzername und Passwort mitgegeben werden.
2. Auch was übertragen werden muss wird erst geguckt.
3. Die Liste ist sehr lang, und darf aber nicht in einer Datei geschrieben werden

Oder was meinst du mit einem refresh
Wenn ich Werbung sehen will, gucke ich Fernsehen.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: php erzeugt ein Timeout 504

Beitrag von gn#36 »

Refresh = Seite neu laden.

Ist doch egal, wenn du erst beim Aufruf schaust, was übertragen werden muss - das machst du halt beim ersten Aufruf und übergibst es dann immer an die neu geladene Seite. Wie du das machst ist ja egal. Im Prinzip kannst du auch "nur" den Index bei dem du gerade warst übergeben und die Liste selbst jedes mal neu generieren - vorausgesetzt das alleine kostet nicht schon zu viel Zeit. Wenn doch kannst du es eben entweder in eine Datei speichern (was du nicht willst) oder aber mit dem Refresh zusammen an den nächsten Seitenaufruf weitergeben (also quasi an den Benutzer schicken, der schickt es dann wieder an den Server, auch nicht das gelbe vom Ei, mal ganz abgesehen von der Möglichkeit zur Manipulation, wenn du keine zusätzlichen Sicherheitsmaßnahmen ergreifst). Benutzername und Passwort musst du irgendwie zwischenspeichern - bei jedem Refresh neu eingeben ist extrem benutzerunfreundlich, abgesehen davon ist die unverschlüsselte Übertragung bei jedem Reload sicherlich auch nicht das Optimum. Ansonsten kannst du es per HTTP Digest Auth (Nutzung in PHP siehe z.B. hier) zumindest halbwegs sicher machen. Die meisten Browser merken sich das Passwort bis zum Beenden des Browsers so dass du nicht bei jedem Reload erneut tippen musst.

Der Refresh ist im Prinzip auch nur ein Beispiel - es spricht auch nichts dagegen das z.B. mit AJAX zu machen - Serverseitig ändert das aber nicht viel.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
willstdueswissen
Mitglied
Beiträge: 47
Registriert: 22.01.2014 16:47

Re: php erzeugt ein Timeout 504

Beitrag von willstdueswissen »

Leider ist nicht alles so ganz perfekt :-/.
was für mich heißt das es die Lösung der Lösungen gibt.
Was mir dann nur übrig bleibt ist den hoster zu wechseln der mir Zugriff auf die php.ini Datei erlaubt.
Wenn ich Werbung sehen will, gucke ich Fernsehen.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: php erzeugt ein Timeout 504

Beitrag von Miriam »

Ich glaube, diesen Hoster mußt Du Dir, zumindest wenn Du keinen eigenen Server hast, erst noch backen.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: php erzeugt ein Timeout 504

Beitrag von gn#36 »

Um ehrlich zu sein verstehe ich aber dein Problem auch nicht: Warum willst du den Zwischenstand nicht temporär speichern? Automatische Reloads sind ja nicht wirklich unkomfortabel, Ajax auch nicht. Aber ein fehlender Cache des Fortschritts auf dem Server ist halt einfach Unsinn.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
willstdueswissen
Mitglied
Beiträge: 47
Registriert: 22.01.2014 16:47

Re: php erzeugt ein Timeout 504

Beitrag von willstdueswissen »

Der Hoster mit dem man so etwas machen kann ist uberspace.
Aber ich glaube das mit dem Merken werde ich wohl machen müssen, wie
MySqlDumper der es auch so macht. Nun eure Tipps wie und wo ich den Fortschritt speichern soll.

Danke schon mal.

MfG willstdueswissen
Wenn ich Werbung sehen will, gucke ich Fernsehen.
Antworten

Zurück zu „Coding & Technik“