Include funktioniert nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Include funktioniert nicht

    Hallo,

    ich habe folgendes PHP-File:

    PHP-Code:
    include($_SERVER['DOCUMENT_ROOT'] . "/includes/inc.php"); 
    Da dieses PHP-File von vielen unterschiedlichen anderen PHP-Files wiederum inkludiert werden kann (die sich auch in anderen Ordner-Ebenen befinden) habe ich einen absoluten Pfad verwendet (Document Root).

    Bei allen Hostern hat dies bisher wunderbar funktioniert. Aber bei dem jetzigen Hoster (hat übrigens PHP5.0.2) geht das nicht...

    Ich bekomme keine Fehlermeldung, aber es scheint so, als ob das File gar nicht inkludiert wird. Jetzt habe ich mir mal mit phpinfo() die Einstellungen ausgeben lassen und habe folgendes entdeckt:

    PHP-Code:
    allow_url_fopwn OFF 

    Kann das der Grund sein?

    lg, Dai

  • #2
    pfad mal ausgeben lassen?
    file_exists() versucht?

    Kommentar


    • #3
      Re: Include funktioniert nicht

      Original geschrieben von powerflash
      allow_url_fopwn = OFF
      Kann das der Grund sein?
      Nö.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Error Reporting voll aufgedreht ?
        Kann das der Grund sein?
        Nur wenn du das File via http inkludieren würdest z.B.
        PHP-Code:
        include('http://127.0.0.1/includes/inc.php'); 
        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Error-Reporting ist leider abgedreht und ich kann das jetz auf die schnelle beim Provider nicht ändern lassen.

          PHP-Code:
          Pfad = /big/apache_2048/htdocs/test/includes/inc.php 
          Bei FileExists() bekomme ich nichts zurück, obwohl das File 100%ig da ist...

          ?????

          Kommentar


          • #6
            "nichts" ist kein boolscher wert.

            Kommentar


            • #7
              Original geschrieben von powerflash
              Error-Reporting ist leider abgedreht und ich kann das jetz auf die schnelle beim Provider nicht ändern lassen.
              Benutze bitte keine dummen Ausreden, sondern error_reporting()
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Ok, habe nun am Anfang der PHP-Datei folgendes eingefügt:
                PHP-Code:
                error_reporting(E_ALL); 
                Leider selbes Ergebnis und Fehlermeldung wird auch nicht angezeigt. Habe mal absichltich einen Fehler in das Script eingebaut - Fehler wurde trotzdem nicht angezeigt, also scheint die Einstellung
                PHP-Code:
                error_reporting(E_ALL); 
                bei meinem Provider nicht zu funktionieren...

                Kommentar


                • #9
                  Und woher kommt das Verzeichnis 'test' in die Pfadangabe ?
                  PHP-Code:
                  var_dump(file_exists($_SERVER['DOCUMENT_ROOT'] . "/includes/inc.php")); 
                  gibt dir einen boolschen Wert zurück !
                  Und error reporting geht so
                  PHP-Code:
                  error_reporting(E_ALL); 
                  Gruss

                  tobi
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #10
                    Das ganze wird mir jetzt immer suspekter. habe testweise folgendes Script als "Test" hochgeladen und ausgeführt:

                    PHP-Code:
                    <?php
                        error_reporting
                    (E_ALL);
                        
                        class 
                    myClass {
                            var 
                    $x;

                            function 
                    setc() {
                                
                    $this->$x 10;
                            }        
                        }
                          
                          
                    $myC = new myClass();
                          
                    $myC->setc();
                          
                          echo 
                    "x=" $myC->$x;    
                    ?>
                    Leider gibt es da keine Ausgabe (Nur eine leere Seite). Hmmm, das kanns doch nicht geben...???

                    Kommentar


                    • #11
                      Du möchtest auch display_errors aktivieren.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        DANKE! Jetzt habe ich zumindest eine Fehlermeldung:

                        PHP-Code:
                        Warningfile_exists() [function.file-exists]: open_basedir restriction in effectFile(/big/apache_2048/htdocs/test/includes/inc.phpis not within the allowed path(s): (/big/web/www.mydomain.com/:/tmp:/big/php/lib/phpin /big/web/www.mydomain.com/htdocs/test/t.php on line 7
                        bool
                        (false

                        PS: Das "test" Verzeichnis habe ich "testweise" im Root-Verzeichnis angelegt und dort liegt mein Script. In diesem Test-Verzeichnis gibt es auch das "Includes-Verzeichnis"

                        Kommentar


                        • #13
                          kontaktiere deinen hoster.

                          Kommentar


                          • #14
                            OK, ...und das mit der Klasse (siehe oben) ist auch ganz komisch. Bei einem anderen Hoster funkt dieses Script einwandfrei (PHP4) und bei diesem Hoster (PHP5) geht es nicht....Naja, werde den Typen mal quälen ;-)


                            Danke!

                            Kommentar


                            • #15
                              $this->$x ist falsch.

                              Kommentar

                              Lädt...
                              X