simplexml_load_file() unter php cli

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Knipser14

Benutzer
Registriert
10. Mai 2012
Beiträge
12
Reaktionspunkte
0
Punkte
0
Hey ich bräuchte noch einmal eure Hilfe:

Und zwar spuckt mein Skript bei der Funktion: simplexml_load_file() folgenden Fehler aus:

I/O warning: failed to load external entity "volume1/...."

Muss man bei simplexml unter php cli etwas spezielles beachten?

Vielen Dank für eure Hilfe,

Knipser
 
Schreibfehler?
I/O warning: failed to load external entity "volume1/...."
diesen Pfad gibt es so auf der DS auf jeden Fall ned :-)
 
Also auf meiner RS212 gibt es diesen Pfad.

/volume1/gemeinsamerOrdner1
/volume1/gemeinsamerOrdner2
...
Und in einem dieser liegen dann auch meine xml-Dateien.
 
Hm ok auf diese Feinheit hatte ich jetzt garnicht geachtet :-D

Aber ich bin mir eigentlich zu 99% sicher nur die Fehlermeldung falsch abgeschrieben zu haben. Kann es aber leider erst am Montag wieder auf Arbeit prüfen.

Ich habe ja auch (sehr vorbildlich wie ich finde ;-) ) schon einmal selbst gegoogelt.

Ich habe dabei Hinweise gefunden, dass es auch an folgender Option in der php.ini liegen könnte: allow_url_fopen ( http://www.php.net/manual/de/filesystem.configuration.php#ini.allow-url-fopen )

Kann diese Befürchtung jemand bestätigen und wenn ja, was kann man tun?


Grüße,

Knipser
 
wüsste nicht wie in diesem Fall eine url_fopen Einschränkung gelten sollte. Denn du öffnest die Datei ja via einen lokalen Serverpfad. Das sollte eigentlich keinen Einfliuss haben. Hast du mal probiert das xml File in ein Verzeichnis zu legen, wo der Server mit Garantie zugreifen kann? z.B. nach /volume1/web
 
Naja, also auf das aktuelle Verzeichnis müsste er eigentlich auch auf jeden Fall Zugriff haben.
Vorher entpacke ich die xml-Dateien nämlich aus zip-Verzeichnissen... Und das klappt problemlos.

Komisch, dass simplexml jetzt so rumzickt.
 
vielleicht ist die XML-Strecke ja auch nicht ok ... probiere doch mal eine ganz einfache, die aber formal richtig ist oder jag die XML-Strecke mal durch ein XML-Validierungstool auf dem PC

Itari
 
Die XML-Dateien sind computergeneriert und wurden auch schon, unter anderen Betriebssystemen, mit simplexml geöffnet.

Ich denke daran kann es nicht liegen...

Mich wundert es ein bisschen, dass ich anscheinend der Erste bin, der auf dieses Problem stößt :-D Funktioniert bei allen anderen der Befehl einwandfrei?


Grüße Knipser
 
Heyho!

Das Problem lag in der der Option open_basedir. Die ist auf dem NAS defaultmäßig gesetzt und bewirkt, dass die php-cli nur dort eingetragene Pfade öffnet.

Den Eintrag muss man in folgender Datei setzen (zumindest bei der RS212): /usr/syno/etc/php/user-setting.ini

Hier gibt es noch Informationen zu open_basedir: http://php.net/manual/de/ini.core.php


Grüße,

Knipser
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat