Frage

Ich habe vor kurzem ein Java-Frontend für eine PHP-Web-Service, der PHPs Soapserver verwendet wird.

Meine Anwendung führt eine lang andauernde Datensynchronisation und von dem, was ich weiß, von PHP bereitete ich mich geschlossene Verbindungen zu erhalten, weil der max_execution_time Grenze.

Aber ich habe nie irgendeine Art von Fehler angezeigt wird, als ob die Soapserver-Instanz für immer ausgeführt wird.

Meine beste Vermutung hier, ist, dass ich nicht wirklich verstehen, wie Soapserver funktioniert. So kann jemand etwas Licht in diese Schuppen? Ist Soapserver nicht von der max_execution_time betroffen?

EDIT:. In meinen Tests max_execution_time wird auf 5 Minuten eingestellt, aber mein Programm läuft für Stunden

War es hilfreich?

Lösung

Wenn die max_execution_time 0, entweder in der php.ini oder durch Verwendung ini_set() oder set_time_limit() in Ihrem Skript gesetzt ist, dann gäbe es keine Grenze sein. Könnte dies der Grund sein?

Bearbeiten : Auch ich habe gerade bemerkt, dies in dem Handbuch :

  

Hinweis: Die Funktion set_time_limit () und die Konfigurationsdirektive max_execution_time nur die Ausführungszeit des Skripts selbst beeinflussen. Jedes Mal, auf der Aktivität verbringt, die außerhalb der Ausführung des Skripts wie Systemaufrufe unter Verwendung von System (), Stream-Operationen geschehen, Datenbankabfragen, etc. ist nicht enthalten, wenn die maximale Zeit zu bestimmen, dass das Skript ausgeführt wurde. Dies gilt nicht unter Windows, wo die gemessene Zeit real ist.

Vielleicht sind Sie nicht geschnitten zu bekommen, weil die meiste Zeit auf Streaming-Daten oder Ausführen von Abfragen ausgegeben wird, die dies nach, würde nicht auf die Frist zählen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top