Wenn Sie in PHP auf einem Webserver programmieren, nehmen Sie normalerweise mehrere includes oder requires auf andere Dateien Ihrer Website vor. Dies kann daran liegen, dass Sie eine Klasse oder bestimmte Funktionen benötigen, die aus Gründen der Übersichtlichkeit und Code-Klarheit an einem anderen Pfad als der von Ihnen bearbeiteten Datei/Plugin liegen.
Die open_basedir-Konfiguration wird hauptsächlich verwendet, um zu verhindern, dass PHP-Skripte eines bestimmten Benutzers auf Dateien zugreifen, die zu einem anderen Benutzerkonto gehören.
Einige Plugin-Dateien oder importierte Website-Dateien versuchen, andere Dateien einzubinden (include) oder zu benötigen (require), die sich außerhalb des Web-Ordners unseres Projekts befinden, d.h. in Verzeichnissen, die sich auf niedrigeren Ebenen als dem Stammordner unserer Website befinden.
Es ist möglich, dass das System Ihnen irgendwann beim Versuch, eine Datei oder ein Plugin zu ändern, den Zugriff verweigert hat – obwohl Sie die erforderlichen Berechtigungen hatten – mit der folgenden Meldung:
open_basedir restriction in effect. File(../pfad/datei.php) is not within the allowed path(s)
Dies zeigt an, dass die PHP-Direktive open_basedir den Zugriff auf den Speicherort der Datei verhindert. Wie erwähnt, ist open_basedir eine Direktive, die das Limit der Dateien definiert, auf die PHP gemäß dem angegebenen Pfad zugreifen kann. Wenn sich die gewünschte Datei außerhalb dieses Pfads befindet, zeigt das System diesen Fehler an.
Aus Sicherheitsgründen ist die open_basedir-Direktive aktiviert und kann nicht deaktiviert werden bei cdmon-Hosting-Konten.
Wenn Sie den Pfad Ihrer Dateien korrekt definieren, sollte jede Datei innerhalb Ihres eigenen Kontos von Ihren eigenen Skripten lesbar sein.
Das Stammverzeichnis von Hosting-Konten auf cdmon-Servern lautet /usr/home/domainname.com