PHP-Fehler beim Import
-
Hallo zusammen,
ich habe die aktuellste Version von i-doit auf einem Server mit Scientific Linux 6.5 installiert.
DAs Interface sieht auch gut aus, soweit keine Probleme. Ich habe auf 2 Client-Computern mit Windows XP die XML-Datei erzeugt, kann diese aber nicht importieren.
Wenn ich den Import über die Web-Oberfläche probiere, kommen nur die folgenden Zeilen:
-
Logging in..
- Connected to mandator: 1 (Aichtal)
[2014-10-01 13:48:47] NOTICE: i-doit import
[2014-10-01 13:48:47] NOTICE: Import handler initialized at 2014-10-01 13:48:47
Wenn ich den Import über das Script mache, dann wird folgende PHP-Fehlermeldung angzeigt:
- Logging in..
- Connected to mandator: 1 (Kundenname)
[2014-10-01 13:37:11] NOTICE: i-doit import
[2014-10-01 13:37:11] NOTICE: Import handler initialized at 2014-10-01 13:37:11
PHP Fatal error: Call to undefined function mb_detect_encoding() in /var/www/html/i-doit/src/handler/isys_handler_import.class.php on line 247
Wenn ich in das Script schaue, dann lautet die Zeile 247:
if(mb_detect_encoding($l_file) == 'UTF-8')
Vermutlich wird die Variable l_file schuld an der Misere sein… aber tiefer bin ich nicht eingestiegen.
Wie kann ich hier vorgehen? Kann jemand helfen?
Vielen Dank im voraus und viele Grüße,
Frank
- Connected to mandator: 1 (Aichtal)
-
-
Hallo Frank,
der Fehler wird dir dargestellt weil deine PHP Umgebung die "mb_detect_encoding" Funktion nicht finden kann. Diese Funktion ist Bestandteil der "Multibyte String" Bibliothek ("php-mbstring") und wird benötigt um herauszufinden ob der Import mit UTF-8 kodierten Daten arbeitet oder nicht.
Du müsstest diese Bibliothek nachträglich installieren.
Viele Grüße
Leo -
Hallo Leo,
vielen Dank, das habe ich gemacht, nun kommt leider der nächste Fehler:
-
Logging in..
- Connected to mandator: 1 (Kunde)
[2014-10-02 08:59:05] NOTICE: i-doit import
[2014-10-02 08:59:05] NOTICE: Import handler initialized at 2014-10-02 08:59:05
[2014-10-02 08:59:05] NOTICE: Load import file imports/pc-075-1001592.xml.
PHP Fatal error: Call to a member function attributes() on a non-object in /var/www/html/i-doit/src/classes/import/handler/isys_import_handler_cmdb.class.php on line 720
Vielleicht bin ich zu wenig PHP-erfahren… generell laufen müsste das doch in dieser Umgebung, oder? (Scientific Linux 6.5, 64 Bit, genügend RAM und Disk Space).
Ich habe probiert, den apt-get-Befehl aus dem Installationsabschnitt im Wiki auf "yum install ... " umzusetzen, was meistens auch geklappt hat. Die ganzen PHP-Pakete sind bei Scientific Linux ohne die Zahl 5, sonst hat es fast gepasst. Eine Ausnahme gab es, die ich mir angestrichen habe: Das Paket libapache2-mod-php5 habe ich hier nicht gefunden.
Hast Du mir noch einen Tipp?
Vielen Dank im Voraus und viele Grüße,
Frank
- Connected to mandator: 1 (Kunde)
-
-
Kleiner Nachtrag: als "Konsolenmensch" probiere ich diese Lösung bevorzugt… im Web-Interface hat der Import jetzt gerade gelappt nach der Installation von php-mbstring.
Vielen Dank und viele Grüße,
Frank
-
Hallo Frank,
was für eine PHP Version ist denn im Einsatz? Das lässt sich über die Konsole mit dem Befehl "php -v" herausfinden.
Wir setzen mindestens die Version 5.3.8 voraus - ideal wäre natürlich eine etwas aktuellere Version (5.4.x oder 5.5.x).Der beschriebene Fehler könnte allerdings auch aufgrund einer beschädigten XML Datei auftreten. Könntest du überprüfen ob die Datei "imports/pc-075-1001592.xml" über die folgende Struktur verfügt:
<isys_export><datetime>2014-10-02 14:39:02</datetime> <mandator language="de" id="1"></mandator> <type>isys_export_type_xml</type></isys_export>Speziell geht es um die Zeile <mandator language="de" id="1"></mandator>… Laut dem PHP Skript existiert das "mandator" Tag oder dessen Attribute nicht.
Viele Grüße
Leo -
Hallo Leo,
entschuldige bitte die späte Rückmeldung, mich hatte es ziemlich erwischt.
Unsere PHP-Version ist:
PHP 5.3.3 (cli) (built: Sep 30 2014 05:09:15)Ich habe "nur" die normalen Scientific-Linux-Repositories konfiguriert. Sollte ich dann das PHP manuell überschreiben und auf eine höhere Version aktualisieren?
Aber auch die XML-Datei hat wohl ihre Probleme, zumindest sieht sie nicht so aus, wie es von Dir geschildert wurde… ich füge mal den Anfang ein:
]> <computer><hostname>pc-075</hostname> <datetime>02.10.2014 11:53:20</datetime> <component><type>Model</type> <name>Model</name> <attr><name>Manufacturer</name><value>Hewlett-Packard</value></attr> <attr><name>Model</name><value>HP xw4300 Workstation</value></attr> <attr><name>SystemType</name><value>X86-based PC</value></attr></component></computer>Danke nochmal und viele Grüße,
Frank
-
Hallo Frank,
gar kein Problem! Gut, das du den Anfang der XML Datei eingefügt hast - ich dachte die ganze Zeit wir reden über die von i-doit selbst erstellten XML Dateien
Aber das sieht mir eher nach H-Inventory aus. Hm, das macht es etwas schwieriger… Mir ist hier kein Fehler bekannt.Die PHP Umgebung auf einen aktuellen Stand zu heben ist aber sicherlich eine gute Idee. Für i-doit empfehlen wir eine Version über 5.3.8 - am besten auf PHP 5.4.x oder 5.5.x (PHP 5.3.x wird nicht mehr weiter entwickelt).
Viele Grüße
Leo -
Hallo Leo,
es scheint zu funktionieren. Ich habe PHP mit einem anderen Repository auf 5.4 aktualisiert, habe drei XML-Dateien erstellt und diese importiert.
Du hast Recht, ich habe das mit hinventory gemacht. Spricht da was dagegen? Ist das ok? Sieht eigentlich ganz gut aus, es sind 3 Desktops mit jeder Menge Applications enthalten. Nur was nicht funktioniert hat ist, das ganze Remote zu machen, also in die Datei computer.txt eine Remote-Maschine einzutragen. Aber bei 28 PCs ist das handelbar, dass ich überall kurz vor Ort gehe.
Danke für die Hilfe und viele Grüße,
Frank
-
Hallo Frank,
nein das ist gar kein Problem
Schließlich unterstützen wir die H-Inventory XML Dateien. Freut mich zu lesen, das es nun funktioniert! Bezüglich der Remote-Problematik kann ich leider nicht unterstützen - das liegt dann wohl an H-Inventory.Viele Grüße
Leo
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login