« 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)

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.

Erweiterungen installieren

Warning

Das Nutzen von PHP Erweiterungen ist nur auf einem Server möglich, welcher auf Windows läuft.

Um eine PHP Erweiterung installieren zu können, muss diese von der PHP Seite heruntergeladen werden. Zu beachten ist, dass die Version mit der in IP-Symcon genutzten PHP Version übereinstimmt. Desweiteren ist die Thread-Safe (TS) und je nach Version von IP-Symcon die 32-Bit (x86 bis 4.4) oder 64-bit (x64 ab 5.0) Variante des Kompilats zu nutzen.

Aktuell kann PHP inkl. Erweiterungen hier heruntergeladen werden: Download

Aus dem ZIP-Paket können die gewünschten Erweiterungen (ext-Ordner) in den “IP-Symcon/ext” Ordner kopiert werden. Eine PHP Erweiterung ist normalerweise an dem “php_” Prefix zu erkennen. Manche Erweiterungen benötigen evtl. noch zusätzliche "dll’s", die in den Hauptordner kopiert werden müssen. Diese Information kann dem Handbuch der jeweiligen Erweiterung entnommen werden.

Warning

IP-Symcon muss neu gestartet werden, damit die neu installierten Erweiterungen aktiv werden.

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?