Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Nach Serverumzug open_basedir Probleme
#1
Hallo Community,

nach dem Umzug meines Servers (von einem vServer zu einem Root) gab es anfänglich keine Probleme.


Vorab ein paar Informationen zu dem neuen Server:
- Debian Squeeze
- PHP version: 5.3.3-7+squeeze8
- Verwaltungssoftware: Plesk 10.4.4
- Voller root Zugriff über Shell
- PHP läuft als Apache-Modul


Leider musste ich feststellen, dass sämtliche attachments und Thumbnails nicht dargestellt wurden. Dazu bekam ich auch entsprechende Error-Mails an die hinterlegte webmaster Adresse zugesandt.

Hier eine Kopie davon:
Zitat:Type: 2
File: attachment.php (Line no. 110)
Message
file_get_contents(): SAFE MODE Restriction in effect. The script whose uid is 10000 is not allowed to access ./uploads/201204/post_15_1334170933_767878034d628c20535505fd0da82cfe_thumb.gif owned by uid 33

Das Problem habe ich gelöst, indem ich zum einen den CHMOD für alle Dateien und Ordner innerhalb des uploads Verzeichnisses auf 777 gesetzt habe, und gleichzeitig den PHP Safe Mode abgeschaltet habe.

Leider kamen dann Fehlermeldungen, die auch direkt im Browser ausgegeben wurden (auch hier eine Mailkopie):

Zitat:Type: 2
File: inc/class_language.php (Line no. 194)
Message
require(): open_basedir restriction in effect. File() is not within the allowed path(s): (/var/www/vhosts/xxxxxxxxxxxxx/httpdocs/:/tmp/:/var/www/vhosts/xxxxxxxxxxxx/httpsdocs/:/tmp/)

Ich habe mir einmal angesehen, welcher Pfad in der Datei versucht wird zu öffnen. Das ist folgender:

/var/www/vhosts/xxxxxxxxxxxxx/httpdocs/forum/inc/languages/english.php

Laut meiner Auffassung vom open_basedir liegt die Datei definitiv innerhalb der erlaubten Pfade. Ich habe mehrmals die Pfade auch abgeglichen und kontrolliert (auch wegen Case Sensitivity) und keinen Fehler feststellen können.

Zunächst habe ich das über einen Workaround gelöst und Fehlerunterdrückung eingeschaltet. Leider löst dies nicht das Kernproblem. (Das Forum an sich funktioniert soweit tadellos).

Hat jemand von euch eine Idee, woran das liegen könnte? Übersehe ich etwas, was das open_basedir angeht?



MfG
Raphael
#2
Hast du die Dateinamen aus den Fehlermeldungen entfernt?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#3
Nein, nur den Namen des Domainordners.

Bzw.: Den Namen habe ich mit "xxxxxxxxxx" überzeichnet.
#4
Neues von der Front. Ich habe einen interessanten Artikel gefunden:

http://www.bigsoft.co.uk/blog/index.php/...dir-restri

Das werde ich heute Abend einmal testen. Ich gebe danach einmal Rückmeldung.
#5
Sehr merkwürdig...
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#6
Hallo Leute,

ich habe das Problem gelöst. Mein Forum kann nun mit aktiven error_reporting laufen Wink

Es war simpler, als es der zuletzt verlinkte Artikel verraten hat. Es muss lediglich nach dem letzten / ein "." folgen. Also beispielsweise:

/var/www/vhosts/xxxxxxxxxxxxx/httpdocs/.


Finde ich selbst zwar ebenso etwas merkwürdig, aber möglicherweise spielt dort Plesk selbst eine entscheidene (negative) Rolle.

MfG
Raphael
#7
Hallo Leute,

leider habe ich mich wohl zu früh gefreut. Ich hatte das error_reporting nicht vollständig abgeschaltet (hatte es noch in der php.ini der Domain aus).

Der Fehler besteht weiterhin. Folgende Ausgabe erhalte ich:

Zitat:Folgende Warnungen sind aufgetreten:
Warning [2] require(): open_basedir restriction in effect. File() is not within the allowed path(s): (/var/www/vhosts/xxxxxxxx/httpdocs/:/tmp/:/var/www/vhosts/xxxxxxxxx/httpsdocs/:/tmp/) - Line: 91 - File: inc/class_language.php PHP 5.3.3-7+squeeze8 (Linux)
File Line Function
/inc/class_language.php 91 errorHandler->error
/inc/class_language.php 91 MyLanguage::set_language
/global.php 95 MyLanguage->set_language
/index.php 18 require_once
Warning [2] require(): open_basedir restriction in effect. File() is not within the allowed path(s): (/var/www/vhosts/xxxxxxx/httpdocs/:/tmp/:/var/www/vhosts/xxxxxxxx/httpsdocs/:/tmp/) - Line: 195 - File: inc/class_language.php PHP 5.3.3-7+squeeze8 (Linux)
File Line Function
/inc/class_language.php 195 errorHandler->error
/inc/class_language.php 195 MyLanguage::get_languages
/global.php 552 MyLanguage->get_languages
/index.php 18 require_once
Warning [2] require(): open_basedir restriction in effect. File() is not within the allowed path(s): (/var/www/vhosts/xxxxxxx/httpdocs/:/tmp/:/var/www/vhosts/xxxxxxxx/httpsdocs/:/tmp/) - Line: 195 - File: inc/class_language.php PHP 5.3.3-7+squeeze8 (Linux)
File Line Function
/inc/class_language.php 195 errorHandler->error
/inc/class_language.php 195 MyLanguage::get_languages
/global.php 552 MyLanguage->get_languages
/index.php 18 require_once
Warning [2] require(): open_basedir restriction in effect. File() is not within the allowed path(s): (/var/www/vhosts/xxxxxxxx/httpdocs/:/tmp/:/var/www/vhosts/xxxxxxxxx/httpsdocs/:/tmp/) - Line: 195 - File: inc/class_language.php PHP 5.3.3-7+squeeze8 (Linux)
File Line Function
/inc/class_language.php 195 errorHandler->error
/inc/class_language.php 195 MyLanguage::get_languages
/global.php 552 MyLanguage->get_languages
/index.php 18 require_once


Die ausschlaggebenden Zeilen ist folgende aus der class_language.php

91: require $this->path."/".$language.".php"

195: require $this->path."/".$lang;


Wenn ich diese auskommentiere gibt es keinerlei Fehlermeldung mehr und alles, außer die Sprachwahl, funktioniert.
Der Ordner languages verfügt über CHMOD 777 (auch wenn das PHP in dem Zusammenhang egal sein sollte)

Ich habe ebenso meine Bearbeitung an der open_basedir Direktive zurückgenommen.
Seltsam ist, dass nur diese requires in dieser Klasse Probleme machen. Alle anderen scheinen ordnungsgemäß zu funktionieren.

In den requires versucht er die entsprechenden Sprachdateien aus dem root des languages Verzeichnisses zu lesen. (Was ihm auch gelingt, soweit ich das beurteilen kann). Das sind die beiden Dateien für die deutsche Sprache, sowie die für die englische.

Ich habe langsam keine Idee mehr, was ich noch machen könnte, bzw. woran es liegt.
#8
*push*

Niemand eine weitere Idee?
#9
Ist safe_mode auf Off (phpinfo hilft)? Welchen Wert hat open_basedir?
#10
Safe Mode habe ich abgeschaltet. (Ist auf off).


open_basedir hat folgenden Wert:
/var/www/vhosts/domain.tld/httpdocs/:/tmp/


(Dabei ist domain.tld natürlich meine Domain).


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Problem nach Serverumzug Paccy 3 1.254 29.05.2012, 18:37
Letzter Beitrag: StefanT
  Massive Probleme Nach Serverumzug hilfe bitte !!! Michael_ 4 1.651 29.08.2011, 14:24
Letzter Beitrag: Michael_