Problem mit include in PHP Code von ausgelöstem Ereignis

Hallo,

ich möchte mein Script „maximum.ips.php“ an mehreren Stellen in IPS verwenden. Das funktioniert aber nicht, wenn ich das Script im PHP Code eines ausgelösten Ereignisses einbinde.

include("maximum.ips.php");

führt zu

05.02.2023, 11:05:27 | ScriptEngine         | Result for Event 12607

Warning: include(maximum.ips.php): failed to open stream: No such file or directory in C:\Windows\System32\- on line 5

Warning: include(): Failed opening 'maximum.ips.php' for inclusion (include_path='.:C:\ProgramData\Symcon\scripts') in C:\Windows\System32\- on line 5

wenn ich aber

include("C:\ProgramData\Symcon\scripts\maximum.ips.php");

funktioniert es.

Gibt es hier ein Problem in IP-Symcon?
(include_path='.:C:\ProgramData\Symcon\scripts')
sieht nicht OK aus.

LG
EmJay

Ist vielleicht nicht die Antwort auf Deine Frage, aber ich mach das immer so …

require_once(IPS_GetKernelDir()."scripts".DIRECTORY_SEPARATOR.'Script.ips.php');

Damit ist man auf der sicheren Seite!

Der Include Pfad müsste imho ein Semikolon statt Doppelpunkt haben. Wohlgemerkt auf Windows. Unter Linux ist der Doppelpunkt korrekt.

c:\ProgramData\Symcon\php.ini dort (bei mir in Zeile 11) den Doppelpunkt durch ein Semikolon ersetzen.

Die Datei muss über die Windows-Berechtigungen so umgestellt werden, dass SYSTEM die Datei nicht mehr ändern kann (Berechtigung Verweigert setzen).

Danach IP-Symcon neustarten. → Den Trick natürlich wieder rückgängig machen, weil Symcon sonst ggf. mit dem nächsten Update spinnen könnte.

@paresy: hier scheint es einen Fehler im bauen der php.ini zu geben.

Danke für eure Antworten!
Ich lasse das aktuell mal so und hoffe auf einen Fix in einer der nächsten Versionen.

Fix kommt zur 6.4. Danke!

paresy