« Zurück zu Produkt

Dokumentation

PHP

IP-Symcon verwendet als Skriptsprache PHP. Durch die Tatsache, dass PHP komplett integriert ist, können alle Vorteile von PHP genutzt werden. Die Ausführung der Skripte kann dabei parallel erfolgen.

Versionsübersicht

IP-Symcon Version Integrierte PHP Version
ab 1.0 5.1.x (x86 Thread Safe)
ab 2.2 5.3.x (x86 Thread Safe)
ab 2.5 5.4.x (x86 Thread Safe)
ab 4.0 5.6.x (x86 Thread Safe)
ab 5.0 7.2.x (x64 Thread Safe)
ab 5.1 7.3.x (x64 Thread Safe)
ab 5.5 7.4.x (x64 Thread Safe)
ab 7.0 8.2.x (x64 Thread Safe)

Zusätzlich zu den normalen PHP Funktionen sind spezielle IP-Symcon Funktionen vorhanden, über die auf IP-Symcon-spezifische Einstellungen (siehe Befehlsreferenz) oder über die in IP-Symcon eingerichteten Geräte zugegriffen werden kann (siehe Modulreferenz).

Die aus PHP bekannte "php.ini" ( php.net/manual/de/ini.php ) ist in IP-Symcon ebenfalls vorhanden. IP-Symcon konfiguriert dabei die “extension” Einträge automatisch, anhand der vorhandenen Erweiterungen, die im "IP-Symcon/ext" Ordner abgelegt wurden.

Globales include

Um Funktionen, Konstanten usw. global über alle Skripte hinweg zur Verfügung zu stellen müssen diese in der Datei "__autoload.php" definiert werden. Diese muss sich im "IP-Symcon/scripts"-Ordner befinden.

Innerhalb der "__autoload.php" können dann weitere Dateien eingelesen werden.

Warning

Befehle oder Dateien via "__autoinclude.inc.php" einzulesen funktioniert auch, wird aber jedesmal bei einem Update oder Neuinstallation überschrieben.

Warning

Die PHP Funktion "auto_prepend_file" ist nicht nutzbar, da diese schon von IP-Symcon aufgerufen und genutzt wird. Diese soll/kann nur einmal Systemweit genutzt werden.

Beispiel

__autoload.php
require_once(IPS_GetKernelDir() . "/scripts/globalfunction.ips.php");

Konfigurieren

Mögliche Konfigurationsparameter können dem PHP Handbuch entnommen werden. Eine nützliche Einstellung ist die Verlängerung der maximalen Skriptlaufzeit, falls etwaige Skripte (z.B. ShutterControl) dies notwendig machen sollten. Bei Anpassung dieser Einstellung muss beachtet werden, dass nur eine begrenzte Anzahl von PHP Skripten in IP-Symcon parallel ausgeführt werden können. Wenn durch eine lange Skriptlaufzeit alle Slots besetzt sein sollten, werden andere Skripte in eine Warteschlage abgelegt und erst verzögert aufgerufen. "Sleep"-Anweisungen sollten deshalb immer vermieden und gegen "Timer"-Anweisungen getauscht werden.

Warning

IP-Symcon muss nach einer Änderung der "php.ini" neu gestartet werden!

Beispiel

Maximale Skriptlaufzeit auf 5 Minuten erhöhen.

[PHP]
max_execution_time=300
Haben Sie noch Fragen?