Norbert: Include will nicht

Hallo,

in einer Anwendung wird reihenweise includiert, was auf dem alten Server auch funktioniert haben soll. Auf dem neuen Server geht es definitiv nicht.

z:B.:
vorher ging:
<!-- #include file="../Lib/test.lib.asp" -->

jetzt geht nicht:
<!-- #include file="../Lib/test.lib.asp" -->
<!-- #include file="..\Lib\test.lib.asp" -->
<!-- #include file="C:\Inetpub\vhosts\vwi\httpdocs\Lib\test.lib.asp" -->

Die Dateien selbst bringen alle das erwartete Ergebnis, nur includieren darf man sie nicht.

Hat da eventuell jemand eine Idee ...

Ach-ja,und wie ist das mit dynamischen Includes,
wenn die zu includierende Datei in einer Variablen steht?
Geht sowas mit ASP ueberhaupt ?

Gruss und Dank
Norbert

  1. hi,

    Die Dateien selbst bringen alle das erwartete Ergebnis, nur includieren darf man sie nicht.

    Und "darf man nicht" äußert sich wie - kommt die Polizei vorbei, oder ...?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hi,

      Und "darf man nicht" äußert sich wie - kommt die Polizei vorbei, oder ...?

      schlimmer,
      die Polizei gibt zielfuehrende Hinweise ... :-((

      Bei der kurzen Variante:
      HTTP 500 - Interner Serverfehler

      Und bei der langen Variante:
      An error occurred on the server when processing the URL.

      Gruss und Dank
      Norbert

      1. Moin!

        Und "darf man nicht" äußert sich wie - kommt die Polizei vorbei, oder ...?
        schlimmer,
        die Polizei gibt zielfuehrende Hinweise ... :-((

        Bei der kurzen Variante:
        HTTP 500 - Interner Serverfehler

        Und bei der langen Variante:
        An error occurred on the server when processing the URL.

        Und was sagt das Serverlogfile dazu (auch Ereignisprotokoll genannt)?

        - Sven Rautenberg

        --
        My sssignature, my preciousssss!
        1. Hallo Sven,

          Und was sagt das Serverlogfile dazu (auch Ereignisprotokoll genannt)?

          Fehlermeldungen:
          1. die kurze Variante erzeugt einen 500-er Error
             und im Logfile: |32|ASP_0131|Disallowed_Parent_Path
          2. die Langform ergibt: An error occurred on the server when processing the URL.
             und im Logfile: |32|ASP_0126|Include_file_not_found

          Nun habe ich ja nur FTP zur Verfuegung und kann ueber den Pfad unterhalb der FTP-Root nur Vermutungen anstellen. Aber mit
          doro = Server.MapPath("/") & "\Lib\test.lib.asp"
          response.write doro
          kommt
          C:\Inetpub\vhosts\xn--vwi-pla.de\httpdocs\Lib\test.lib.asp
          heraus und "httpdocs" sehe ich im FTP-Client.

          Gruss und Dank
          Norbert

          1. ... die includes stehen doch ausserhalb vom ASP-Code, also wird das include doch mit SSI durchgefuehrt, und SSI kann man abstellen.

            Preisfrage:
            Wo stellt man das an ?
            Und wie bekommt man heraus, ob es angestellt ist ?

            Gruss und Dank
            Norbert

          2. hi,

            Fehlermeldungen:

            1. die kurze Variante erzeugt einen 500-er Error
                 und im Logfile: |32|ASP_0131|Disallowed_Parent_Path

            Disallowed_Parent_Path klingt doch recht deutlich danach, dass dein Script keine Rechte hat, die Scripte von ihrem Ablageort aus einzubinden.

            1. die Langform ergibt: An error occurred on the server when processing the URL.
                 und im Logfile: |32|ASP_0126|Include_file_not_found

            Vermutlich Folgefehler aus ersterem.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Hai,

              Vermutlich Folgefehler aus ersterem.

              nee,
              also entweder Variante A oder Variante B.
              Man includiert ja nicht eine Datei auf zwei Arten ...

              Das Ganze ist sowieso sehr mysterioes, weil der IIS die Logfiles erst viel spaeter auslagert. Man hat keinen Zugriff auf aktuelle Daten. Bin jetzt dabei den Lib-Ordner as Unterordner von ASP einzurichten. Alle Rechteprobleme sollte das dann beseitigen, hofft man jedenfalls.

              Gruss Norbert

          3. Moin!

            1. die kurze Variante erzeugt einen 500-er Error
                 und im Logfile: |32|ASP_0131|

            "Disallowed_Parent_Path" - das ist dein Stich- und Suchwort!

            - Sven Rautenberg

            --
            My sssignature, my preciousssss!
  2. Hi Norbert

    <!-- #include file="../Lib/test.lib.asp" -->
    Hat da eventuell jemand eine Idee ...

    Versuchs doch mal mit virtual.

    Ach-ja,und wie ist das mit dynamischen Includes,
    wenn die zu includierende Datei in einer Variablen steht?

    Das geht nicht: SSI werden vor dem ASP-Code abgearbeitet.

    Geht sowas mit ASP ueberhaupt ?

    Jein. Seit Windows 2K könntest du es mit Execute() versuchen. Ob du damit Funktionen definieren kannst, die ausserhalb verwendet werden können weiss ich jedoch nicht.

    Wir inkludieren hier auch bis zu mehrere hunder Kilobytes an Code, was ganz gut funktioniert. Ob das mit Server.Execute() auch gut ginge müsste man ausprobieren. Moment mal... Server.Execute() geht nicht: Variablen und Funktionen sind ausserhalb nicht verfügbar. Ich hab doch mal was in die Richtung gemacht... Achso: es gibt noch eine Execute-Funktion, die ausserhalb des Server-Objekts liegt, die hatte ich eigentlich gemeint. Der kannst du direkt Code-Strings übergeben. Habe auch das mal ausprobiert, funktioniert jedoch auch nicht:

    Microsoft VBScript compilation error '800a0400'

    Expected statement

    /test.asp, line 20

    Besagte Linie 20: Call Execute(oFile.ReadAll())

    Schade, schade. Scheint an den Kommentaren zu scheitern. Aber zeilenweise Rausfiltern geht nicht, weil sonst die Funktionen nicht an einem Stück rein kommen.

    Gruss

    Tom