Server hat Problem mit include-Befehlen

multimolti

Erfahrenes Mitglied
Hallo!

Seit ich meinen neuen Server bei Evanzo habe, habe ich öfters das Problem, dass einige PHP-Skripts nicht mehr so laufen wie früher. Es kommen dauernd Fehlermeldungen wegen den Verzeichniserlaubnissen, dass anscheindend PHP versucht, auf Bereiche zuzugreifen, auf welche der Zugriff nicht gestattet ist.

Nach einigem herumprobieren habe ich meine eigenen Websites soweit verändert, dass sie ohne Probleme liefen, aber mein Wordpress-Blog und die Plugins machen die gleichen Probleme, und ich will nicht nach jedem Update alle include-Befehle in dem gesamten Code ändern müssen.

Hier der Fehler, den ich bekomme:
Code:
Warning: main() [function.main]: open_basedir restriction in effect. File(/settings_general.php) is not within the allowed path(s): (/var/www/vhosts/multimolti.de/httpdocs:/tmp) in /var/www/vhosts/multimolti.de/httpdocs/blog/wp-content/plugins/gd-star-rating/options/settings.php on line 51

Warning: main(settings_general.php) [function.main]: failed to open stream: Operation not permitted in /var/www/vhosts/multimolti.de/httpdocs/blog/wp-content/plugins/gd-star-rating/options/settings.php on line 51
Hier die Code-Zeilen, wo das Problem auftritt:
PHP:
<div id="fragment-1">
<?php include "settings_general.php"; ?>
</div>
Ich habe es ja irgendwann mal ausprobiert, das zu lösen, soweit ich weiß, muss man nur ein Slash vor den Pfad setzen oder so.
Kann man das auch irgendwie per .htaccess lösen? Würde die Sache sehr einfach machen!!

Hier meine PHP-Info-Datei: http://multimolti.de/phpinfo.php
 
Hallo,

der Server lässt dich nur auf Verzeichnisse zugreifen, welche unterhalb von
/var/www/vhosts/multimolti.de/httpdocs
/tmp
liegen.

Das heißt auch, dass er absolute Pfadangaben (normalerweise, aus Erfahrung) nicht nimmt.

Siehe deine Fehlermeldung:
Code:
Warning: main() [function.main]: open_basedir restriction in effect. File(/settings_general.php) is not within the allowed path(s): (/var/www/vhosts/multimolti.de/httpdocs:/tmp) in /var/www/vhosts/multimolti.de/httpdocs/blog/wp-content/plugins/gd-star-rating/options/settings.php on line 51

Warning: main(settings_general.php) [function.main]: failed to open stream: Operation not permitted in /var/www/vhosts/multimolti.de/httpdocs/blog/wp-content/plugins/gd-star-rating/options/settings.php on line 51


Versuche mal statt (laut Fehlermeldung)
PHP:
include "/settings_general.php";
ein
PHP:
include "./settings_general.php";
zu machen. (Also einen Punkt vor dem Slash).
Der normale Slash am Anfang sagt ihm, er soll von ganz oben anfangen, was bei Webanwendungen eigentlich nicht gewünscht / erlaubt ist. Setzt du einen Punkt davor, sagt es ihm, er soll vom aktuellen Verzeichnis ausgehen.

Gruß
Bratkartoffel
 
Deine Idee mit
PHP:
include "./settings_general.php";
würde bestimmt gehen, ich kann sie hier aber nicht testen (auf dem Rechner ist kein FTP).

Aber leider ist genau das ja nicht die Lösung die ich will, weil ich das gesamte Plugin abändern müsste, und wenn dann eine neue Version rauskommt, das gleiche noch mal.
Daher hätte ich gerne eine Lösung per .htaccess oder so, da es auf anderen Servern ja auch geht, und bei mir irgendeine Einstellung falsch sein muss.
 
Da du nicht auf meine Frage eingehst, kann man dir auch schlecht mit einer Lösung helfen...

Das Problem vermute ich darin, dass der aktuelle Ordner nicht im PHP Include Path angegeben ist, sprich dort fehlt ein "." in der Liste.
 
Zurück