GGGss
10. Oktober 2005 um 09:46
1
Hey,
Wieso kann ich nach dem upgrade diese zeile nicht mehr ausfuhren?
if ($IPS_VARIABLE == "") ...
PHP-kernel stoppt vonwegen
Notice: Undefined variable: IPS_VARIABLE
Vor dem Update gabs diese meldung auch, aber da hat das script sich trotzdem ausfuhren lassen.
Wie kann man in die neuste version wissen ob das script uber ein TimerEvent o. Variable getriggert wird? hmm
GGGss:
Hey,
Wieso kann ich nach dem upgrade diese zeile nicht mehr ausfuhren?
if ($IPS_VARIABLE == "") ...
PHP-kernel stoppt vonwegen
Notice: Undefined variable: IPS_VARIABLE
Vor dem Update gabs diese meldung auch, aber da hat das script sich trotzdem ausfuhren lassen.
Wie kann man in die neuste version wissen ob das script uber ein TimerEvent o. Variable getriggert wird? hmm
prüfe vorher mit $IPS_SENDER - diese zeigt an, ob das Script durch eine Variable („variable“) oder durch direkte Ausführung („execute“) getriggert wurde!
sysrun
10. Oktober 2005 um 09:55
3
Das ist kein Fehler sondern nur eine Notice… Das Problem ist offensichtlich das dass Error-Loglevel von PHP defaultmässig zu „scharf“ eingestellt ist.
Setz vorher noch diese Abfrage ein (Quick&Dirty-Workaround):
if(isset($IPS_VARIABLE))
Nachtrag:
Mit diesem Befehl am Anfang des PHP-Scripts stellt man das Error-Loglevel so ein das nur wirkliche Fehler ausgegeben werden.
ini_set('error_reporting', E_ERROR);
Hiermit kann man alls Fehlerausgaben abschalten:
ini_set('error_reporting', E_NONE);
GGGss
10. Oktober 2005 um 09:56
4
Dank dir,
Diese lösung habe ich mehrmals im einsatz … mir hat’s nur gewunderd wieso 1 script bei mir nicht mehr lief seit dem upgrade. Hat sich herausgestellt das ich auf ‚if ($IPS_VARIABLE =="")‘ code laufen habe; und das nach dem upgrade dieser script nicht mehr lief.
Dachte : Meldung machen.
paresy
10. Oktober 2005 um 11:37
5
Korrekt müsste es sein, wie Retiarius es sagte:
if($IPS_SENDER=="Variable") {
if($IPS_VARIABLE=="irgendwas") {
//...
}
}
Grüße, paresy