php plesk - open_basedir Einschränkung in Wirkung.Datei(/)befindet sich nicht in den zulässigen Pfad(en):




not include (8)

Für mich war das Problem schlechte / fehlende Konfigurationswerte für den Plesk Server, auf dem das Ganze läuft. Ich folgte nur den Anweisungen hier: http://davidseah.com/blog/2007/04/separate-php-error-logs-for-multiple-domains-with-plesk/

Sie können PHP so konfigurieren, dass für jede VirtualHost-Definition eine separate Fehlerprotokolldatei vorhanden ist. Der Trick besteht darin, genau zu wissen, wie man es einrichtet, weil man die Konfiguration nicht direkt berühren kann, ohne Plesk zu unterbrechen. Jeder Domainname auf Ihrem (dv) hat sein eigenes Verzeichnis in / var / www / vhosts. Ein typisches Verzeichnis enthält die folgenden Verzeichnisse der obersten Ebene:

cgi-bin/
conf/
error_docs/
httpdocs/
httpsdocs/
...and so on

Sie sollten eine vhost.conf-Datei im conf / -Ordner des Domänenverzeichnisses mit den folgenden Zeilen erstellen:

php_value error_log /path/to/error_log
php_flag display_errors off
php_value error_reporting 6143
php_flag log_errors on

Ändern Sie den ersten Wert so, dass er Ihrer tatsächlichen Installation entspricht (Ich habe /tmp/phperrors.log verwendet). Nachdem Sie die vhost.conf-Datei bearbeitet haben, testen Sie die Konfiguration von der Konsole aus mit:

apachectl configtest
…or if you don’t have apachectl (as Plesk 8.6 doesn’t seem to)…

/etc/init.d/httpd configtest

Und erzählen Sie Plesk endlich, dass Sie diese Änderung vorgenommen haben.

/usr/local/psa/admin/bin/websrvmng -a

Ich erhalte diesen Fehler bei einem Avatar-Upload auf meiner Website. Ich habe es nie zuvor bekommen und nichts wurde in letzter Zeit geändert, damit ich diesen Fehler bekommen konnte ...

Warning: is_writable() [function.is-writable]: 
open_basedir restriction in effect. 
File(/) is not within the allowed path(s):

Wenn Sie diese Art von Problem mit ispconfig3 haben und einen Fehler wie diesen bekommen

open_basedir Einschränkung in Wirkung. Datei (/ var / www / clients / client7 / web15) befindet sich nicht innerhalb der erlaubten Pfad (e): .........

Um es zu lösen (in meinem Fall), setze einfach PHP auf SuPHP im Panel der Website von ispconfig3

Hoffe es hilft jemandem :)


Wenn du das mit php file.php . Sie müssen php.ini bearbeiten Diese Datei finden:

: locate php.ini
/etc/php/php.ini

Und den Pfad der open_basedir Eigenschaft open_basedir anhängen:

open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/:/run/media/andrew/ext4/protected


open_basedir Einstellungen von open_basedir in Ihrer PHP-Konfiguration (siehe Laufzeitkonfiguration ).

Die Einstellung open_basedir wird hauptsächlich verwendet, um zu verhindern, dass PHP-Skripts für einen bestimmten Benutzer auf Dateien in einem anderen Benutzerkonto zugreifen. In der Regel sollten alle Dateien in Ihrem eigenen Konto von Ihren eigenen Skripts gelesen werden können.

Beispieleinstellungen über .htaccess wenn PHP als Apache-Modul auf einem Linux-System läuft:

<DirectoryMatch "/home/sites/site81/">
    php_admin_value open_basedir "/home/sites/site81/:/tmp/:/"
</DirectoryMatch>

Um diesen Fehler zu beheben, müssen Sie die Datei httpd.conf bearbeiten. Lange bevor es in phpinfo in apache2handler Abschnitt Direktive Server Root gesehen werden kann. In meinem Fall zum Beispiel - / etc / httpd / httpd.conf. Öffnen Sie die Datei httpd.conf, finden Sie die Erwähnung des Parameters open_basedir. Und setze es auf keinen. ( php_admin_value open_basedir keine )


Der Pfad, auf den Sie verweisen, ist inkorrekt und nicht mit dem Verzeichnis Wurzel Ihres Arbeitsbereichs verknüpft. Versuchen Sie, einen absoluten Pfad zu der Datei zu erstellen, auf die Sie zugreifen möchten, wo Sie jetzt wahrscheinlich einen relativen Pfad verwenden ...


Ändern Sie die Einstellungen von open_basedir in Ihrem Hosting-Konto und setzen Sie sie auf none. Suchen Sie nach der Einstellung open_basedir, die im Bereich "PHP-Einstellungen" Ihres Plesk / cPanel angegeben ist. Setzen Sie es in der Dropdown-Liste auf 'none'. Ich habe sie im Plesk-Bild gezeigt.


Ich hatte auch dieses Problem einmal, probiere so etwas aus

<?php
function requireToVar($file){
    ob_start();
    require($file);
    return ob_get_clean();
}
$test=requireToVar($test);
?>




php filesystems