Ankündigung

Einklappen
Keine Ankündigung bisher.

include Fehlermeldung

Einklappen

Neue Werbung 2019

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

  • include Fehlermeldung

    Hallo,
    ich probiere nun schon seid Längerem die Ursache für u.a. Fehlermeldung zu finden.
    Es handelt sich dabei um den Administrationsbereich des php-abc Newsletter-Scripts. Wenn ich die Startseite dieses Bereichs (index.php) aufrufe, erscheint die Seite nur unvollständig mit folgender Fehlermeldung.

    Warning: include(/newsletter/include/lang/de.php) [function.include]: failed to open stream: No such file or directory in /www/htdocs/w00c998a/newsletter/administration/index.php on line 16

    Warning: include() [function.include]: Failed opening '/newsletter/include/lang/de.php' for inclusion (include_path='.:/usr/share/php:..') in /www/htdocs/w00c998a/newsletter/administration/index.php on line 16


    [B]Die Zeile 16 in der index.php lautet übrigens:
    include($cfg[includeDir]."/lang/".$cfg[lang].".php");

    Also, wie kann ich die Ursache für die Fehlermeldung finden und den Fehler beheben?

    Vielen Dank!

  • #2
    Es steht doch eh schon da.

    es wird versucht /newsletter/include/lang/de.php einzubinden, da es aber nicht gefunden wird, gibt es einen Fehler

    Kommentar


    • #3
      Entweder du findest die de.php Datei und fügst sie hinzu,
      oder
      du schreibst dir eine eigene de.php Datei
      oder
      Du schaltest die Warnings ab xD. Das letzte ist natürlich nur ein Scherz!
      "My software never has bugs, it just develops random features."
      "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

      Kommentar


      • #4
        Hallo,

        danke für die Tipps. Das Verrückte ist aber: Die de.php befindet sich in dem Verzeichnis /newsletter/include/lang/.

        Kommentar


        • #5
          Mach mal bitte im Skript:

          PHP-Code:
          var_dump(ini_get('include_path')); 
          und poste mal die Ausgabe.
          "My software never has bugs, it just develops random features."
          "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

          Kommentar


          • #6
            $cfg[includeDir] ist wohl leer.
            Dadurch versucht er die Datei von "/newsletter/include/lang/de.php"
            statt von "/www/htdocs/w00c998a/newsletter/include/lang/de.php" zu laden. Das "/" am Anfang des Pfades bedeutet, dass er vom Root-Verzeichnis aus startet.

            Und überhaupt sollte der Index mit einfachen Anführungsstrichen geschrieben werden.
            Setz mal ein var_dump($cfg['includeDir']) davor.

            Kommentar


            • #7
              bah seh ich ja jetzt erst!
              PHP-Code:
              include($cfg[includeDir]."/lang/".$cfg[lang].".php"); 
              Das dürfte dir zwei Notices werfen!
              Wenn du auf Indexe in einem Array zugreifst müssen diese als String erfolgen:
              PHP-Code:
              include($cfg['includeDir']."/lang/".$cfg['lang'].".php"); 
              Es sei denn es sind Konstanten, dann ist es aber echt unsauber, da mann Konstanten normalerweise immer groß schreibt

              Nachtrag: das mit den Indexen haste aber fix nachgetragen
              "My software never has bugs, it just develops random features."
              "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

              Kommentar


              • #8
                Hallo Paul.Schramenko,

                mit der Befehlszeile

                include var_dump($cfg[includeDir]."/lang/".$cfg[lang].".php");

                erhalte ich nun noch die folgende (reduzierte) Fehlermeldung:

                string(31) "/newsletter/include/lang/de.php"
                Warning: include() [function.include]: Failed opening '' for inclusion (include_path='.:/usr/share/php:..') in /www/htdocs/w00c998a/newsletter/administration/index.php on line 16

                Kommentar


                • #9
                  Zitat von Paul.Schramenko Beitrag anzeigen
                  bah seh ich ja jetzt erst!
                  PHP-Code:
                  include($cfg[includeDir]."/lang/".$cfg[lang].".php"); 
                  Das dürfte dir zwei Notices werfen!
                  Wenn du auf Indexe in einem Array zugreifst müssen diese als String erfolgen:
                  PHP-Code:
                  include($cfg['includeDir']."/lang/".$cfg['lang'].".php"); 
                  Es sei denn es sind Konstanten, dann ist es aber echt unsauber, da mann Konstanten normalerweise immer groß schreibt

                  Nachtrag: das mit den Indexen haste aber fix nachgetragen
                  Nun habe ich es noch mal mit dem vorgeschlagenen Code probiert. Ergebnis:

                  PHP-Code:
                  include($cfg['includeDir']."/lang/".$cfg['lang'].".php"); 
                  produziert folgende Fehlermeldung:

                  Warning: include(/newsletter/include/lang/de.php) [function.include]: failed to open stream: No such file or directory in /www/htdocs/w00c998a/newsletter/administration/index.php on line 16
                  Warning: include() [function.include]: Failed opening '/newsletter/include/lang/de.php' for inclusion (include_path='.:/usr/share/php:..') in /www/htdocs/w00c998a/newsletter/administration/index.php on line 16

                  Kommentar


                  • #10
                    Du inkludierst einen absoluten Pfad, dieser zählt ab dem Root Verzeichnis des Webservers, hier in fett dargestellt.
                    /www/htdocs/w00c998a/newsletter/administration/index.php
                    Sofern du nicht auf einem virtuellen Host arbeitest, wo der root-Pfad individuell eingestellt werden kann, müsste der include-Pfad
                    /newsletter/include/lang/de.php
                    eher so lauten
                    Code:
                    /w00c998/newsletter/include/lang/de.php
                    heissen.
                    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                    Kommentar


                    • #11
                      Zitat von lstegelitz Beitrag anzeigen
                      Du inkludierst einen absoluten Pfad, dieser zählt ab dem Root Verzeichnis des Webservers, hier in fett dargestellt.


                      Sofern du nicht auf einem virtuellen Host arbeitest, wo der root-Pfad individuell eingestellt werden kann, müsste der include-Pfad

                      eher so lauten
                      Code:
                      /w00c998/newsletter/include/lang/de.php
                      heissen.
                      Dank für den Tipp. Das hat aber leider auch nichts gebracht.

                      Kommentar

                      Lädt...
                      X