Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login

    Controller search_index fullindex PHP Fatal error Class not found

    Scheduled Pinned Locked Moved Entwicklung
    3 Posts 2 Posters 782 Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • F Offline
      Ferric
      last edited by

      Schönen guten Tag zusammen.

      Über die Suchfunktion habe ich ein ähnliches Thema gefunden, aber für eine ältere i-doit Version.

      Wir haben i-doit open in der Version 1.9.2 installiert.
      Dabei haben wir uns an die Artikel in der Knowledge Base gehalten und auch die Cronjobs wie beschrieben eingerichtet.
      Es wurden Daten aus OCS Inventory NG importiert, Städte, Räume, Server, Racks und so weiter angelegt und auch miteinander in Beziehung gesetzt.

      Am nächsten Morgen hatten wir dann eine Fehlermeldung und haben den Befehl dann noch einmal manuell per SSH aufgeführt und geschaut, ob der Fehler noch einmal auftritt.
      Folgender Fehler tritt jedes mal auf wenn der Controller mit dem handler search_index aufgerufen wird.

      USER@I-DOIT:~$ sudo -u www-data /var/www/html/i-doit/controller -i 1 -u <username>-p <passwort>-m search_index fullindex
      CMDB: [>                                          ] 1%  31/3303 remaining: ~106 sec.  elapsed: 1 sec.  PHP Fatal error:  Uncaught Error: Class 'isys_cmdb_dao_category_s_enclosure' not found in /var/www/html/i-doit/src/classes/modules/cmdb/dao/category/global/isys_cmdb_dao_category_g_location.class.php:232
      Stack trace:
      #0 /var/www/html/i-doit/src/classes/modules/cmdb/dao/category/isys_cmdb_dao_category.class.php(3179): isys_cmdb_dao_category_g_location->retrievePositionInRack(Array, Array)
      #1 /var/www/html/i-doit/src/classes/modules/cmdb/dao/category/isys_cmdb_dao_category_data.class.php(308): isys_cmdb_dao_category->category_data(Object(isys_cmdb_dao_category_data), 2, Array)
      #2 /var/www/html/i-doit/src/classes/modules/cmdb/dao/category/isys_cmdb_dao_category_data.class.php(332): isys_cmdb_dao_category_data->reload()
      #3 /var/www/html/i-doit/src/classes/modules/cmdb/src/Search/IndexExtension/ModelLoader.php(130): isys_cmdb_dao_category_data->data()
      #4 /var/www/html/i-doit/src/classes/modules/cmdb/src/Search/IndexExtension/Manager/CmdbIndexManager.php(139): idoit\Module\Cmdb\Search\IndexExtension\ModelLoader->loadWith(Array, Arra in /var/www/html/i-doit/src/classes/modules/cmdb/dao/category/global/isys_cmdb_dao_category_g_location.class.php on line 232</passwort></username> 
      

      Wir haben erst einmal diesen Job auskommentiert um nicht mit der Fehlermeldung geflutet zu werden.
      Über Lösungsvorschläge würden wir uns sehr freuen.

      Mit freundlichen Grüßen
      Dominic

      1 Reply Last reply Reply Quote 0
      • V Offline
        vqh
        last edited by

        Hallo Dominic,

        danke für die Information. Anscheinend wurde in der i-doit 1.9.2 Open Version eine Abfrage nicht hinzugefügt die das verhindern sollte.
        Versuch mal folgendes:
        1. Erstelle ein Backup von der Datei [i-doit Root Verzeichnis]/src/classes/modules/cmdb/dao/category/global/isys_cmdb_dao_category_g_location.class.php
        2. Öffne die Datei [i-doit Root Verzeichnis]/src/classes/modules/cmdb/dao/category/global/isys_cmdb_dao_category_g_location.class.php
        3. Ersetz die Zeilen 232 - 234 mit folgenden Code Zeilen:

        $enclosureSorting = 'desc';
        
        if (class_exists('isys_cmdb_dao_category_s_enclosure'))
        {
            $enclosureSorting = isys_cmdb_dao_category_s_enclosure::instance(isys_application::instance()->database)
                ->get_data(null, $parentObjectId)
                ->get_row_value('isys_cats_enclosure_list__slot_sorting');
        }
        

        4. Speichere die Änderungen und schließe die Datei
        5. Führe den Controller für den Suchindex erneut auf

        Ich hoffe das dies die Lösung für das Problem ist.

        Gruß,
        vqh

        1 Reply Last reply Reply Quote 0
        • F Offline
          Ferric
          last edited by

          Hallo vqh,
          vielen Dank für die schnelle Antwort.
          Ich habe die Codezeilen ersetzt und den Controller erneut aktiviert.
          Dieses mal lief der Controller für Surchindex ohne weitere Probleme durch.

          Vielen Dank für die schnelle Hilfe.

          Mit freundlichen Grüßen Dominic

          1 Reply Last reply Reply Quote 0
          • First post
            Last post