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)|
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.
One can only use PHP extensions on a server running in Windows.
In order to install a PHP extension, it has to be downloaded from the PHP page. It should be checked that the version complies with the PHP version used in IP-Symcon. Furthermore, the thread safe (TS) and depending on the IP-Symcon version, the 32-bit (x86 to 4.4.) or 64-bit (x64 from 5.0) variant of the compilation, should be used.
Currently, PHP, including extensions, can be downloaded here: Download
The desired extension (ext folders) can be copied from the ZIP package to the ‘IP-Symcon/ext’ folder. A PHP extension can usually be recognized by its prefix ‘php_’. Some extensions may require additional ‘dll’s’ that have to be copied into the main folder. This information can be found in the handbook of the relevant extension.
IP-Symcon must be restarted, to activate the newly-installed extensions.
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.