PHP Warning: is_file(): open_basedir restriction in effect

Sandra

New Member
Hallo liebe Forum-Community,


ich habe Joomla Version 3.0.2 auf unserem Stratoserver mit Parallels Plesk Panel 11.0 installiert. Das ganze läuft unter IIS (Windows Server 2008 R2 Web Server Edition Service Pack 1). Die PHP-Version ist 5.3.19.

Soweit sogut, nun bekomm ich allerdings beim Erstellen eines Menüeintages folgenden Fehler:

PHP Warning: is_file(): open_basedir restriction in effect. File(\metadata.xml) is not within the allowed path(s): (C:\Inetpub\vhosts\domainname\httpdocs\;C:\Windows \Temp\;/tmp) in C:\Inetpub\vhosts\domainname\httpdocs\administrator\components\com_menus\models\item.php on line 930

Ich habe schon versucht das open_basedir Verzeichnis zu ändern und auch einige Möglichkeiten ausprobiert, jedoch alles ohne Erfolg. Auch google konnte mir nicht großartig weiterhelfen, da die dort gelieferten Lösungsvorschläge/-ansätze nicht das erhoffte Ergebnis brachten.
Ich habe dies auch in einem Joomla-Supportforum gepostet und wurde zu einem Serversupportforum weitergeleitet. Weshalb es wahrscheinlich nichts mit Joomla, sondern eher mit den Servereinstellungen zu tun hat.

Nun bin ich hier gelandet, kann mir jemand bei diesem Problem helfen?
Über eine baldige Antworte würde ich mich freuen =).


Liebe Grüße
Sandra
 
Haben sich die Werte der open_basedir-Restriktionseinstellung überhaupt verändert?
Hast du die Einstellung an der richtigen Stelle vorgenommen?
Evtl. musst du deinen Webserver / PHP nach der Änderung neustarten.

Ich muss dazu sagen, dass ich kein Windows-Spezialist bin. Evtl. ist ein Neustart des IIS nicht erforderlich.
 
Mir drängt sich eigentlich eher auf ob die Datei überhaupt da liegen sollte denn ob PHP sie da lesen darf.

Du versuchst C:\metadata.xml auf zu rufen, ich gehe mal davon aus dass das _nicht_ das Gewünschte war, somit solltest du die Pfade kontrollieren und ggf anpassen. Meist entstehen solche Fehler wenn "$Pfad/metadata.xml" aufgerufen wird und $Pfad entweder leer oder nicht initialisiert ist.
Eventuell ist es schon hilfreich die PHP Logging-Einstellungen in auf E_NOTICE und display_errors auf On zu stellen.
 
Ich hab die Einstellungen in der Plesk-Oberfläche speziell für diese Domain mehrmals geändert. Neustart ist nicht nötig, da sich das ganze selbst aktualisiert und neuläd.

Beide Einstellungen umgestellt, die Fehlermeldung erscheint allerdings immernoch :(.

Danke für die zwei fixen Antworten, hat noch jemand eine Idee?
 
Cross-Posting auf mehrere Foren ohne Hinweis ist nicht gerne gesehen
http://www.joomlaportal.de/joomla-3...-is_file-open_basedir-restriction-effect.html

Und doch, ich vermute noch immer ein Problem mit Joomla respektiv dessen Konfiguration.
Diese Zeile in der item.php ist verantwortlich für dein Problem
Code:
$path = JPath::clean($base.'/metadata.xml');
Wie du sehen kannst ist es, wie vermutet, eine Variable mit /metadata.xml. Die Variable ist wohl somit leer respektiv wird durch die Funktion falsch "geputzt"
 
Laut Quellcode ist $base nur gesetzt falls der Link der component den Parameter "option" enthält, ansonsten ist er leer.
Eine etwas zweifelhafte Wahl der Variableninitialisierung und Default-Definition aber naja...


Da der Fehler in der com_menus geworfen wird gehe ich davon aus dass ein Menu falsch konfiguriert ist.
Du könntest auch den Quellcode patchen und diese Zeile in etwas sinnvolles, zB JPATH_SITE umbiegen. Allerdings sollte ein Bugticket bei Joomla geöffnet werden in welchem der Fehler beschrieben wird, kann doch nicht sein dass er bei falscher Konfiguration eines Parameters mal in den Hauptordner einer Festplatte sucht...

Ich habe einen Hinweis dazu gegeben =), siehe erster Post.
Mein Fehler
 
Code:
$path = JPath::clean(JPATH_SITE.'/metadata.xml');

So funktioniert es!
Vielen Dank :)

Liebe Grüße
Sandra
 
Back
Top