Categories

Ausgewählte Vorlagen

Open_basedir restriction in effect. File(X) is not within the allowed path(s): Y

Alex Ross Oktober 22, 2012
Rating: 3.3/5. From 15 votes.
Please wait...

Funktion PHP open_basedir – ist die Sicherheitsmaßnahme, die die Öffnung von Dateien und Skripten verhütet, die sich außerhalb von “häuslichem” Inhaltsverzeichnis befinden. Wenn die Einstellung PHP open_basedir eingeschaltet ist, dann beschränken sich alle Dateioperationen auf einen Ordner auf dem Server, ohne Zugang zu Skripten der missbräuchlichen Benutzer. Wenn die Skrip versucht die Datei zu öffnen, die sich außerhalb von dem Root-Inhaltsverzeichnis befindet, zum Beispiel fopen() oder gzopen(), prüft man den Weg zur Datei. Wenn die Datei sich außer erlaubtem Inhaltsverzeichnis befindet, PHP lehnt ab es zu machen und wird der Fehler erscheint, als:

Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/home/user_name/public_html/wp-content/uploads/2006/12/picture.jpg) is not within the allowed path(s): (/home/user_name:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/user_name/public_html/wp-admin/inline-uploading.php on line 226

Machen Sie sich mit der förmlichen FTP Anleitunfug bekannt, um mehr über Funktion open_basedirzu erfahren.

Wir empfehlen Ihne an Ihren Hosting-Anbieter zu wenden, um den Fehler zu berichtigen.

Es gibt zwei Möglichkeiten dieses Problem zu lösen:

  1. Sie können diese Funktion ausschalten, oder den Zugang zu den Dateien und einigen bevorzugten Accounts geben, oder den Zugang von PHP Skripten zu einigen Ordnern erlauben.

    • Wenn Sie cPanel WebHost Manager (WHM) benutzen, können Sie leicht die Option open_basedir ausschalten, oder einigen Benutzer aus der Liste ausschließen, um ihnen den Zugang zu erlauben. In der Sektion “Security” öffnen Sie “Tweak Security”, dann drücken Sie “Configure” für “Php open_basedir Tweak”. Hier können Sie php Funktion einschalten oder ausschalten open_basedir, einige Hosts hinzufügen oder löschen.

    • Wenn Sie das Control Panel Plesk benutzen, sollen Sie manuell Konfigurationsdatei Apache – vhost.conf и vhost_ssl.conf bearbeiten, und Linien hinzufügen oder php_admin_value open_basedir an folgenden ändern:

      php_admin_value open_basedir none php_admin_value open_basedir /full/path/to/dir:/full/path/to/directory/httpdocs:/tmp

      Wege zu den Ordnern (Beispiel oben), die sich nach open_basedir befinden, sind Inhaltsverzeichnisse, zu denen den Zugang für PHP Skripten auf dem Server erlaubt ist. Sie können hier mehr Dateien und Ordner hinzufügen, indem Sie sie mit dem Doppelpunkt “:” trennen. Seien Sie aufmerksam, um die Sicherheit Ihres Systems nicht abzubrechen.

      Nach dem Abschluß, laufen Sie die Anweisung unten, damit Veränderungen zum Tragen kommen und starten Sie Apache httpd Server (apache2ctl restart oder httpd restart)neu

  2. Wenn Sie manuell Einstellungen von Apache bearbeiten sollen, um Sicherheit von PHP open_basedir auszuschalten, öffnen Sie die Datei httpd.conf, finden Sie die Linie, die so beginnt :

    php_admin_value open_basedir …..

    Um die Funktion für bestimmten Account auf dem Server auszuschalten, benutzen Sie folgende Zeile:

    php_admin_value open_basedir none
  3. Sie können immer die Sicherheit für bestimmte Ordner beschränken, ohne völlig die Funktion open_basedir auszuschalten. Dafür brauchen Sie einfach die Liste von erlaubten Ordnern einzugeben, indem Sie sie mit dem Doppelpunkt trennen. Zum Beispiel, um den Zugang zum Inhaltsverzeichnis zu erlauben /new_directory , wird der Code so aussehen:

    php_admin_value open_basedir “/home/user_account/:/usr/lib/php:/usr/local/lib/php:/tmp” php_admin_value open_basedir “/home/user_account/:/usr/lib/php:/usr/local/lib/php:/tmp:/new_directory

    Starten Sie Apache Server neu. Beachten Sie darauf, dass die Beschränkung oben nur der Vorsatzkode ist. Zum Beispiel, wenn Sie “open_basedir = /dir/incl” benutzen, wird den Zugang zu den Ordnern auch “/dir/include” oder “/dir/incls”geöffnet, wenn es so gibt. Um den Zugang zu einem bestimmten Inhaltsverzeichnis zu beschränken, benutzen Sie Strich am Ende: “open_basedir = /dir/incl/”.

Dieser Eintrag wurde um Hosting FAQ, Website u. Server Fehler geschrieben und effect, open_basedir, restriction markiert. Bookmarken Sie den permalink.

Submit a ticket

Sollte Ihre Frage durch die Tutorials nicht ausreichend beantwortet worden sein, benutzen Sie bitte den folgenden Link, um sich an unser Beratungsteam (Support) zu wenden. Wir bieten Ihnen unsere Hilfe und Unterstutzung an. 24 Stunden am Tag, 7 Tage die Woche!
Ticket Einrichten