Maximum execution time / php.ini

Hi,

bei der V1 war Maximum execution time glaube ich sowas um die 150 Sekunden.
bei V2 bekomme ich die Meldung:

Fatal error: Maximum execution time of 30 seconds exceeded

Habe einen Stellmotor der von 0 auf 100% schonma seine 2 Minuten braucht…

Diese Maximum execution time sollte doch in der php.ini zu konfigurieren sein?
Finde diese aber nicht im IPS-Verzeichnis

  1. Eine php.ini ist nicht zwingend notwendig.
  2. Der Befehl set_time_limit(Integer: Zeit in Sekunden); ist was Du brauchst. Einfach am Anfang des Scriptes max. Laufzeit eingeben.

Hallo Roeni,

falls Du die php.ini doch erstellen möchtest muss diese im IP-Symcon-Programmverzeichnis erstellt werden.

Muster:


```php

max_execution_time = 150

Du wirst die php.ini bestimmt noch später in deinen Projekten benötigen.:slight_smile:

Mit der Einstellung in der php.ini ist allerdings vorsichtig umzugehen.
Der Standardwert hilft zu verhindern, dass schlampig geschriebene Skripte den PC lahmlegen.
Und die Variante set_time_limit in dem entsprechenden Script halte ich für eleganter.

Hallo Thomas,

da muss ich Dir absolut Recht geben.

In der php.ini sollte eine relativ niedrige Zeitschranke definiert sein (z.B. 15s), als „Notbremse“. Um diese Grenze einmalig zu umgehen ist der von Dir genannte Befehl set_time_limit() gut geeignet.

Grundsätzlich sollte ein Skript aber so abgefasst sein, dass nach Möglichkeit keine Wartezeiten zu überbrücken sind. Die Laufzeit sollte also demnach selten mehr als nur ein paar Millisekunden betragen.

In dem von Roeni angesprochenen Fall, sollte das Konzept noch einmal gründlich überdacht werden. Es wäre sicher sinnvoller IP-Symcon so zu benutzen, wie es gedacht ist, nämlich als Ereignis-gesteuertes Programm.

Demnach sind Start und Stop des Motors zwei unterschiedliche Ereignisse, die zu unterschiedlichen Zeitpunkten unterschiedliche Aktionen auslösen. Es besteht überhaupt keine Veranlassung die Zeit zwischendrin mit Warten zu vertrödeln.

Gruß
HJH