Include funktioniert nicht

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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?

    Comment


    • #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.

      Comment


      • #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)

        Comment


        • #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...

          ?????

          Comment


          • #6
            "nichts" ist kein boolscher wert.

            Comment


            • #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.

              Comment


              • #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...

                Comment


                • #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)

                  Comment


                  • #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...???

                    Comment


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

                      Comment


                      • #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"

                        Comment


                        • #13
                          kontaktiere deinen hoster.

                          Comment


                          • #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!

                            Comment


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

                              Comment

                              Working...
                              X