IP-Symcon uses PHP as its script language. As PHP is fully integrated, all of its advantages can be made use of. Among others, this means that multiple scripts can run at the same time.
|IP-Symcon Version||Integrated PHP Version|
|from 1.0||5.1.x (x86 thread safe)|
|from 2.2||5.3.x (x86 thread safe)|
|from 2.5||5.4.x (x86 thread safe)|
|from 4.0||5.6.x (x86 thread safe)|
|from 5.0||7.2.x (x64 thread safe)|
|from 5.1||7.3.x (x64 thread safe)|
|from 5.5||7.4.x (x64 Thread Safe)|
|from 7.0||8.2.x (x64 Thread Safe)|
In addition to the standard PHP functions, special IP-Symcon functions are available, through which IP-Symcon-specific settings (see Command Reference) or devices configured in IP-Symcon, can be accessed (see Module Reference).
The "php.ini" known from PHP ( php.net/manual/de/ini.php ) is equally available in IP-Symcon. IP-Symcon configures "extension" entries automatically, based on the available extensions that were placed in the "IP-Symcon/ext" folder.
In order to make functions, constants, etc. available globally across all scripts, these must be defined in the file "__autoload.php". These must be present in the "IP-Symcon/scripts" folder.
Multiple files can be read in within the "__autoload.php".
Inputting commands or files via "__autoinclude.inc.php" is possible, but the file is overwritten during each new update or new installation.
The PHP function "auto_prepend_file" cannot be used, as it is already called and used by IP-Symcon. This should/can only be used once throughout the system.
__autoload.php require_once(IPS_GetKernelDir() . "/scripts/globalfunction.ips.php");
All possible configuration parameters can be taken from the PHP handbook. A useful setting for the case that some scripts (e.g. ShutterControl) eventually require it, is the extension of the maximum script runtime. When adjusting this setting, one must make sure that only a limited number of PHP scripts are run in IP-Symcon at the same time. Should all slots be occupied, due to a script having a long runtime, other scripts will be placed into a queue and only run with a delay. "Sleep" commands should therefore always be avoided and exchanged for "timer" commands.
IP-Symcon must be restarted after any changes are made to "php.ini"!
Increase maximum script runtime to 5 minutes.