Ankündigung

Einklappen
Keine Ankündigung bisher.

Datei: /usr/local/edomi/main/include/php/config.php Fehlercode: 8

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Datei: /usr/local/edomi/main/include/php/config.php Fehlercode: 8

    Hi zusammen,

    hab edomi mal zum spielen in ne virtual box gepackt um nicht mein Live System mitm Fujitsu S900 zu verbasteln.

    jetzt hab ich centos 7 und edomi 2.03 drauf gepackt, sowie php auf version 7.4 geupdatet und noch die mqtt lbs installliert,
    nun hab ich im Fehlerlog immer folgende Fehlermeldung:

    Datei: /usr/local/edomi/main/include/php/config.php | Fehlercode: 8 | Zeile: 20 | Trying to access array offset on value of type null

    hat das was mit dem php update zu tun, oder woran happert es hier?

    #2
    keiner eine Idee?
    hier mal der Code von der config.php von Zeile 20:

    Code:
    ?><? set_time_limit(0); function php_errorHandler($errCode,$errText,$errFile,$errRow) { $log=true; if (strpos($errFile,'/incl_camera.php')!==false) { $fh=fopen(MAIN_PATH.'/www/data/tmp/camerror.txt','w'); fwrite($fh,date('d.m.Y H:i:s')); fclose($fh); if (global_logLevelCam==1) { $log=false; $n=date('d.m.Y'); $tmp=readInfoFile(MAIN_PATH.'/www/data/tmp/camerror.txt'); if ($tmp===false || $tmp[0]!=$n) { createInfoFile(MAIN_PATH.'/www/data/tmp/camerror.txt',array($n)); writeToLog(-1,false,'Kamerafehler (Logging erfolgt nur max. 1x täglich) / Datei: '.$errFile.' | Fehlercode: '.$errCode.' | Zeile: '.$errRow.' | '.$errText); } } else if (global_logLevelCam==0) { $log=false; } } if ($log) {writeToLog(-1,false,'Datei: '.$errFile.' | Fehlercode: '.$errCode.' | Zeile: '.$errRow.' | '.$errText);} return true; } function php_exceptionHandler($exception) { writeToLog(-1,false,'Datei: '.$exception->getFile().' | Fehlercode: '.$exception->getCode().' | Zeile: '.$exception->getLine().' | '.$exception->getMessage(),'EXCEPTION'); if (preg_match('/liveproject\/lbs\/LBS(.*?).php/s',$exception->getFile(),$tmp)>0) { createInfoFile(MAIN_PATH.'/www/data/tmp/lbserror.txt',array($tmp[1],'1')); } } function php_fatalerrorHandler(){ $error=error_get_last(); if ($error['type']===E_ERROR) { writeToLog(-1,false,'Datei: '.$error['file'].' | Fehlercode: '.$error['type'].' | Zeile: '.$error['line'].' | '.$error['message'],'FATALERROR'); if (preg_match('/liveproject\/lbs\/LBS(.*?).php/s',$error['file'],$tmp)>0) { createInfoFile(MAIN_PATH.'/www/data/tmp/lbserror.txt',array($tmp[1],'1')); } } } set_error_handler('php_errorHandler'); set_exception_handler('php_exceptionHandler'); register_shutdown_function('php_fatalerrorHandler'); ?>

    Kommentar


      #3
      Hallo TobiDD ,

      konntest Du das Problem lösen? Und wenn ja, wie?

      Ich laufe gerade in das gleiche Problem (centos7, edomi 2.03 und php7.4) nach einer Neuinstallation und Einspielen des Backup.

      Danke im Voraus.

      Schöne Grüße
      mvz

      Kommentar


        #4
        PHP schmeißt mit jeder neueren Version immer mehr Fehler bei vermeindlich schlechtem Code. Es war jahrelang DER Vorteil von php, dass man da nicht so genau sein muss. Es ist 'nur' eine Warnung. Wenn du sie weg haben möchtest, gibt es zwei Optionen:
        - global php anweisen, bei dieser Art von Fehlern nicht zu meckern
        - Die Zeile umschreiben und denn speziellen Fall mit weiteren Bedingungen abfangen, sodass es nicht mehr zu Fehler kommen kann.

        Hierzu den Code in viele Zeilen aufteilen, sodass man die entsprechende Codezeile im Fehlerlog eingrenzen kann.

        Kommentar


          #5
          da ich das Problem in einem der LBSs für die HUE vermute, habe ich das Installationsskript (siehe LBS19000195) noch einmal durchlaufen lassen.

          Beim erstmaligen Neustart kam es noch einmal zu einer Fehlermeldung, danach ist aber aktuell alles ok.

          Hoffen wir, dass es so bleibt.

          Kommentar

          Lädt...
          X