open_basedir begrenzt die Dateien, die von PHP innerhalb eines Verzeichnisbaums geöffnet werden können.Wie kann ich PHP Open_basedir Einschränkung entspannen?
Ich speichere mehrere Klassenbibliotheken und Konfigurationsdateien außerhalb meines Webstammverzeichnisses. Auf diese Weise macht der Webserver sie nicht öffentlich zugänglich. Allerdings, wenn ich versuche, sich aus meiner Anwendung schließen ich einen open_basedir Beschränkung Fehler wie diese:
Warnung: realpath() [function.realpath]: open_basedir restriction in effect. Datei (/var/www/vhosts/domain.tld/zend/application) ist nicht innerhalb des erlaubten Weg (e): (/var/www/vhosts/domain.tld/httpdocs:/tmp) in /var/www/vhosts/domain.tld/httpdocs/index.php on line 5
Meine Web-root ist hier:
/var/www/vhosts/domain.tld/httpdocs
Meine Bibliotheken und Konfigurationsverzeichnis befinden sich hier:
/var/www/vhosts/domain.tld/zend
Was wäre die beste Lösung, um die Einschränkung von open_basedir zu lockern, so dass die Verzeichnisstruktur unter dem Domänenordner für meine Anwendung verfügbar wird? Ich habe eine Reihe von Domänen, mit denen ich dies tun möchte, und ich bin auch offensichtlich vorsichtig, Sicherheitslücken zu schaffen.
Hinweis: Ich verwende CentOS, Apache, Plesk, und ich habe root ssh Zugriff auf den Server. Und obwohl dies nicht direkt für Zend Framework gilt, verwende ich es in diesem Fall. Also hier ist die Einbeziehung von Zend Bootstrap:
define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../zend/application/'));
set_include_path(APPLICATION_PATH . '/../zend/library' . PATH_SEPARATOR . get_include_path());
Wenn der op plesk läuft muss er etwas spezieller als das sein: http://www.toosweettobesour.com/2008/02/02/plesk-open_basedir-workaround/ – dcousineau
tom: Wouldn Wird die Einschränkung nicht vollständig aufgehoben, entsteht eine Sicherheitslücke? dcousineau: danke! – isuldor
Brian: Sie würden nur die Einschränkung für PHP-Dateien entfernen, die von /var/www/vhosts/domain.tld/httpdocs ausgeführt werden, aber ja, die erste Option ist besser –