PHP will auf einmal nicht mehr includen?

multimolti

Erfahrenes Mitglied
Hallo!

Ich habe jetzt meine Website auf einen anderen Host verlegt (vorher funpic.de, jetzt Evanzo). Mein eines PHP-Script geht einwandfrei, das lief auch vorher schon fehlerlos.
Meine anderes jedoch will einfach nicht die benötigten Dateien per include() laden.

In meinem Code steht dies hier:
PHP:
include("mysql_connect.php");
Und die Datei mysql_connect.php ist auch in dem Ordner (ging ja früher auch), aber ich bekomme die Fehler:
Code:
Warning: main() [function.main]: open_basedir restriction in effect. File(/mysql_connect.php) is not within the allowed path(s): (/var/www/vhosts/multimolti.de/httpdocs:/tmp) in /var/www/vhosts/multimolti.de/httpdocs/xna/misc/lang_head.php on line 7

Warning: main(mysql_connect.php) [function.main]: failed to open stream: Operation not permitted in /var/www/vhosts/multimolti.de/httpdocs/xna/misc/lang_head.php on line 7
Was ist da denn das Problem?

EDIT:
Soweit ich das verstehe, macht die Eigenschaft open_basedir = /var/www/vhosts/multimolti.de/httpdocs:/tmp es mir unmöglich, mit meinen PHP-Scripts auf Dateien außerhalb meines httpdocs Verzeichnisses und des temp Ordners zuzugreifen. Aber das versuche ich doch gar nicht, wenn mein Script unter /var/www/vhosts/multimolti.de/httpdocs/xna/misc läuft und die datei "mysql_connect.php" im eigenen Ordner aufrufen will.
 
Zuletzt bearbeitet:
Hmm, du meinst komplett absolut? Also mit all dem /var/www Linux Quatsch davor? Das wäre doch total umständlich.

Wenn ich die Dateien jetzt mal mit include("/mysql_connect.php"); include, siehts schon besser aus, ich bekomme nicht mehr ganz so viele Fehlermeldungen, aber es geht trotzdem nicht.

Kann ich per .htaccess Dateien irgendwas in der Config ändern? So habe ich auch schon error_reporting an und register_globals aus geschaltet.
 
sthet doch in der fehlermeldung... weiß jetzt nicht wo dein problem ist.

aber ich will ja mal nicht so sein und dir ne super seite nennen: http://www.php.net

ganz genau: such dort nach "safe mode" oder noch besser - was wunder - nach open_basedir. da kommst du ganz schnell mal auf diese seite: http://de3.php.net/manual/de/features.safe-mode.php#ini.open-basedir sogesehen: :google:

und im zweifelsfall, immmer mal wieder http://www.gidf.de benutzen.

entschuldige bitte, aber ich kann nicht anders wenn man zu faul ist, selbst mal ein bischen zu suchen.




EDIT: VERGISS MEINEN DEN TEXT DIREKT HIERÜBER (den kleinen)! hab deinen edit gesehen.


Doch, du versuchts genau das was die fehlermeldung sagt. Du darfst nämlich mit der Funktion fopen() (die include() benutzt) keine Datei außerhalb diese(r) Ordner zu öffnen.
 
Zuletzt bearbeitet:
Ah, ich musste alle includes einfach nur sozusagen um einen Ordner zurücksetzen...

Im Ordner "xna" war die Datei "index.php", die hat die Datei "misc/lang_head.php" eingebunden. In der "lang_head.php" habe ich nur noch über den Dateinamen die Dateien im Ordner "misc/" eingebunden, aber der neue Server brauchte wohl auch bei denen immer ein "misc/", da das base_dir ja anscheinend "xna" war.

Neues Problem: Mein error_reporting ist mir irgendwie zu hoch. Ich bekomme blöde Notizen, obwohl ich die eigentlich ausgeschaltet habe (error_reporting = 7):
Code:
Notice: Use of undefined constant USERONLINETIME - assumed 'USERONLINETIME' in /var/www/vhosts/multimolti.de/httpdocs/xna/misc/php_functions.php on line 8

Notice: Undefined index: logout in /var/www/vhosts/multimolti.de/httpdocs/xna/misc/mainframe.php on line 25

Notice: Undefined index: userrights in /var/www/vhosts/multimolti.de/httpdocs/xna/misc/mainframe.php on line 33
 
au, da lag ich ja falsch :) sorry!

zu deinem neuen proble: keien Ahnung, was in den Konstanten von PHP drinnen steht, aber probier doch mal:

PHP:
error_reporting(E_WARNING);

oder

PHP:
error_reporting(E_ERROR);
 
Ich habe das jetzt per .htaccess gemacht, damit es für den ganzen Server gilt. Aber error_reporting auf 7 müsste alles außer Notice sein:
http://de3.php.net/manual/de/errorfunc.constants.php
Code:
1  	E_ERROR (integer)  	Fatale Laufzeit-Fehler.
2 	E_WARNING (integer) 	Warnungen (keine fatalen Fehler)
4 	E_PARSE (integer) 	Parser-Fehler während der Übersetzung.
8 	E_NOTICE (integer) 	Benachrichtigungen während der Laufzeit.

Ich will alles außer NOTICE, also 1 + 2 + 4 = 7. Tuts aber irgendwie nicht.
 
schon mal die php.ini gecheckt anstatt es über die .htaccess zu machen? da gibts einen ziemlich großen part der genau das behandelt....
 
Wenn du mir verrätst, wie ich da ran komme, mach ich das gerne =)

Bedenke, dass ich nur Schreibzugriff auf "/var/www/vhosts/multimolti.de/httpdocs" habe.
 
Zurück