PHP unter Linux

PHPProgi

Mitglied
Hallo zusammen

Habe neu meine Webpage unter Linux am laufen. Nun habe ich ein Pfadproblem.

Habe den folgenden Eintrag in meinem Code

PHP:
require_once('../Global_Inc/SMSMySql.php');

Leider wird der Pfad nicht gefunden. Ist hier das Problem das Linux die schreibweise nicht versteht, oder hat sich was am PHP geändert. Hab nun 5.3.3 am laufen.

Folgende Fehlermeldung erhalte ich:

Warning: require_once(): open_basedir restriction in effect. File(/var/www/html/Testseite/Global_Inc/SMSMySql.php) is not within the allowed path(s): (.:/usr/share/pear:/usr/share/php) in /var/www/html/Testseite/Security_inc/login_auth.php on line 13 Warning: require_once(/var/www/html/Testseite/Global_Inc/SMSMySql.php): failed to open stream: Operation not permitted in /var/www/html/Testseite/Security_inc/login_auth.php on line 13 Fatal error: require_once(): Failed opening required '../Global_Inc/SMSMySql.php' (include_path='.:/php/includes:/usr/share/php') in /var/www/html/Testseite/Security_inc/login_auth.php on line 13

Als Zusatzinfo:
Hatte bereits bei anderen Unterseiten Pfadprobleme die ich mit einer einfacher Korrektur gelöst habe (anscheinend wird bei Linux auf Gross und Kleinschreibung geachtet)

Doch hier komme ich nicht weiter da ich eine Stufe im Pfad zurück muss....

Kann mir bitte jemand einen Tipp geben****

Danke
 
Hallo,

zunächst mal: Ja bei Linux-Systemen unterscheidet das Dateisystem (ext2-4/reiser/etc), solange nicht FAT oder NTFS verwendet wird, tatsächlich Groß-/Kleinschreibung. Man nennt das Case-Sensitive.

Welche Distribution verwendest du? Grundsätzlich ist der Einsatz von Safe-Mode-Einstellungen als veraltet markiert und sollte auch nicht mehr verwendet werden.

Wenn du mitteilst, welche Distribution du verwendest, könnte man versuchen, herauszufinden, wie man es dort deaktiviert. Hast du den Safe-Mode eigentlich selbst eingeschaltet?
 
Hallo saftmwister

ich verwende Fedora 14.

An der Save_Mode Funktion habe ich nichts gemacht. Da ich im Linux Bereich neu bin, verstehe ich auch nicht was diese Funktion mit meinem Problem zu tun hat.

Wenn es aber was nütz, schalte ich das gerne aus um mein obiges lästiges Problem zu fixen.

Danke für dein FB.

Gruss
 
Zuletzt bearbeitet:
open_basedir ist Teil des Safe-Modes und wenn der Safe-Mode deaktiviert ist, sollte open_basedir auch nicht mehr greifen. Dabei (Safe-Mode) handelt es sich um Einstellungen, die die ursprüngliche Intention hatten, PHP sicherer zu machen. Aber es hat alles nur komplizierter und fehler-anfälliger gemacht. Die meisten Hoster haben es ausgeschaltet, weil viele Kunden bemängelt hatten, das dadurch viele Teile der Software nicht mehr richtig liefen. Aber statt die Software zu fixen, hat man die Einstellung ausgeschaltet.

In deinem Falle sehe ich erst mal kein Problem mit dem "Ausbruch" aus dem DocumentRoot. Du bleibst ja durch den Wechsel in der Ordner-Ebene nach oben immer noch im DocRoot.

Fedora setzt SELinux verstärkt ein, das könnte dein Problem auch verursacht haben.

Als Test-Server kann man aber Safe-Mode ruhig deaktivieren und sollte auch keine Safe-Mode-Funktionen mehr verwenden (deprecated).

Statt dessen sollte man natürlich beim Programmieren sofort darauf achten, auch ein Augenmerk auf das Thema Sicherheit zu legen. Hier im Forum gibts ein Sticky zu dem Thema.
 
Zurück