Gunnar Bittersmann: Multiviews und PHP

Hello out there!

Ich hab eine Datei 'index.php5' im entsprechenden Verzeichnis; Zugriff über 'http://example.net/' und 'http://example.net/index.php5' funktioniert.

Ich möchte aber auch per 'http://example.net/index' zugreifen können, also: "Options +MultiViews" in '.htaccess'.

Firefox sagt nun:
„Sie möchten folgende Datei herunterladen:
index
Vom Typ: application/x-httpd-php5“

Angabe des Headers "<?php [code lang=php]header('Content-Type: text/html; charset=UTF-8'); ?>[/code]" in 'index.php5' hilft nicht.

Bei "AddType text/html .php5" in '.htaccess' kommt die Abfrage nicht mehr, allerdings wird der PHP-Code serverseitig nicht ausgeführt.

Was muss angegeben werden, damit Multiviews und PHP zusammen funktioniert?

See ya up the road,
Gunnar

--
“Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
  1. Hallo Gunnar,

    Was muss angegeben werden, damit Multiviews und PHP zusammen funktioniert?

    www.google.de [Enter]

    Eingabefeld *klick*

    addtype php multiviews [Enter]

    ergibt http://triendl.info/multiviews.de als ersten Treffer *klick*

    | ersetzen sie die zeile mit AddType mit:
    | AddHandler php-script php
    | AddType text/html php

    Grüße
     Ro*SCNR*land

    1. Hallo,

      AddHandler php-script php
      AddType text/html php

      das bringt auch nichts, wenn "php-script" nicht als Handler angelegt wurde; da liegt vermutlich der Knackpunkt.

      Gruß aus Berlin!
      eddi

    2. Hello out there!

      www.google.de

      Was’n das?? ;-O

      | ersetzen sie die zeile mit AddType mit:
      | AddHandler php-script php
      | AddType text/html php

      Hört sich gut an, funktioniert aber leider bei mir (occuris) nicht, weder mit PHP4 noch mit PHP5.

      See ya up the road,
      Gunnar

      --
      “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
      1. Hi Gunnar,

        Hört sich gut an, funktioniert aber leider bei mir (occuris) nicht, weder mit PHP4 noch mit PHP5.

        Ah, Occuris - das ist doch schon mal etwas ;-) Wenn ich auf dem aktuellsten Stand bin, so musste man bei Occuris das PHP5-Binary (was man zur Verfügung gestellt bekam) manuell einbinden. Sollte dem (immer noch) so sein, so poste doch bitte man den Inhalt aus deiner .htaccess-Datei.

        MfG, Dennis.

        1. Hello out there!

          so musste man bei Occuris das PHP5-Binary (was man zur Verfügung gestellt bekam) manuell einbinden.

          ?? Ich hab da nichts eingebunden, PHP5 funktioniert, und das Problem ist bei PHP4 dasselbe.

          poste doch bitte man den Inhalt aus deiner .htaccess-Datei.

          Options +MultiViews  
          AddHandler php-script .php  
          AddHandler php5-script .php5  
          AddType text/html .php .php5
          

          See ya up the road,
          Gunnar

          --
          “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
          1. Hallo,

            offengestanden frage ich mich, ob Du trotz im Raum stehender Fragen nur ein Rätzelraten veranstalten willst. Es ist ja zumindest ersichtlich, daß PHP nach Deinen Angaben über CGI betrieben wird. Wenn dem so ist, poste die genau Angabe aus der Variable $_SERVER["SCRIPT_NAME"]!

            Gruß aus Berlin!
            eddi

            1. Hello out there!

              poste die genau Angabe aus der Variable $_SERVER["SCRIPT_NAME"]!

              /php-test/index.php

              Server API: CGI/FastCGI
              PHP Version: 4.4.2-pl2-gentoo bzw. 5.1.4-pl0-gentoo

              Wolltest du noch was wissen?

              See ya up the road,
              Gunnar

              --
              “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
              1. Hallo,

                sollte das Verzeichnis "php-test/" nicht bestehen, ist "php-test" der als ScriptAlias eingetragen Handler. Wenn man http://triendl.info/multiviews.de glauben schenken darf, sollte also...

                AddHandler php-test php  
                AddType text/html php
                

                ...die für Dich zutreffende Konfiguration sein.

                Gruß aus Berlin!
                eddi

                1. Hello out there!

                  sollte das Verzeichnis "php-test/" nicht bestehen,

                  Doch, tut es. In genau diesem Verzeichnis liegt die Datei index.php.

                  See ya up the road,
                  Gunnar

                  --
                  “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                  1. Gehen Sie in den SelfHTML-Chat! Gehen Sie direkt dorthin!

              2. Hi Gunnar,

                Server API: CGI/FastCGI
                PHP Version: 4.4.2-pl2-gentoo bzw. 5.1.4-pl0-gentoo

                Ich habe mich - der ich ja auch Kunde von Occuris bin - gerade mal etwas bei Occuris und im Apache Manual umgeschaut. Zuerst mal habe ich das Szenario nachgebildet und mit curl -I http://example.org/test die Adresse abgerufen (Auszug):

                HTTP/1.1 200 OK
                  Content-Location: test.php
                  Vary: negotiate
                  TCN: choice
                  Content-Type: application/x-httpd-php

                Der Server erkennt den Aufruf also korrekt und wählt die korrekte PHP-Datei - jedoch wird diese PHP-Datei nicht geparst und einfach nur mit dem festgelegten Mime-Type ausgegeben.

                Daraufhin habe ich mir mal noch angeschaut, wie Occuris den Apache konfiguriert hat - erst mal scheinen die Mime-Types application/x-httpd-php (für PHP4) und application/x-httpd-php5 (für PHP5) vergeben worden zu sein bzw. die Handler x-httpd-php und x-httpd-php5 gesetzt zu sein. Das von dir ausprobierte php-script und php5-script kann also gar nicht wirkungsvoll sein.

                Ich dachte nun, dass ein

                [link:http://httpd.apache.org/docs/2.0/mod/mod_mime.html#multiviewsmatch@title=MultiviewsMatch] handlers

                das Problem lösen würde - sollte es zumindest auch im Normalfall, allerdings tut es das hier nicht.

                Es scheint an der Kombination mit suPHP zu liegen, dass bei MultiViews PHP nicht ausgeführt wird - woran es genau scheitert habe ich noch nicht nachvollziehen können, es scheint mir allerdings so, als würden die Handler, die für das ausführen der Datei als PHP-Script zuständig sind nur für .php (bzw. .php5 usw.) Dateien gesetzt - der Aufruf /test enthält jedoch kein so ein .php o.ä.

                Du müsstest dich also mal direkt an Jan oder Christian wenden und Ihnen dein Problem schildern, so sie es denn hier noch nicht mitgelesen haben.

                MfG, Dennis.

          2. Hi Gunnar,

            AddHandler php-script .php
            AddHandler php5-script .php5
            AddType text/html .php .php5

            Hat dir Occuris gesagt, dass du diese Zeilen notieren sollst oder hast du die auf Orlandos Hinweis hin reingeschrieben?

            Es ist ganz einfach so: Solange php-script und php5-script nicht definiert sind, kannst du das beliebigen Dateiendungen zuweisen, da _kann_ nicht passieren! Standard ist eigentlich application/x-httpd-php und eventuell application/x-httpd-php5...

            MfG, Dennis.

  2. Hallo,

    Dein Problem läßt sich unter einem Apachen 1.3.x und Apachen 2.2.x sowohl in der Modul-Variante, als auch als CGI nicht nachvollziehen. Bitte mach sachdienliche Angaben zum SAPI PHPs, der Serverversion, deren Konfiguration PHP-betreffen und alle auf das Verzeichnis abgestellten Konfigurationsanweisungen.

    Gruß aus Berlin!
    eddi

  3. Hi Gunnar,

    Firefox sagt nun:
    „Sie möchten folgende Datei herunterladen:
    index
    Vom Typ: application/x-httpd-php5“

    Und, hast du sie mal runtergeladen? Ich vermute stark, dass wenn du sie runterlädst, du auch den PHP-Quellcode zu sehen bekommen wirst - denn application/x-httpd-php5 sieht stark nach einer nicht geparsten PHP-Datei bei PHP5 über CGI aus ;-)

    Angabe des Headers "<?php [code lang=php]header('Content-Type: text/html; charset=UTF-8'); ?>[/code]" in 'index.php5' hilft nicht.

    So denn meine obige Vermutung richtig ist, kann das auch nichts bringen...

    Bei "AddType text/html .php5" in '.htaccess' kommt die Abfrage nicht mehr, allerdings wird der PHP-Code serverseitig nicht ausgeführt.

    Richtig - denn gerade dadurch dass du ihm einen entsprechenden Mime-Type zuweist (über die Extension .php5) wird er ja ausgeführt. Wenn du .php5 dann als text/html festlegst passiert natürlich nichts mehr.

    Aber um da Genaueres sagen zu können, bräuchte man wie von eddi schon erwähnt etwas mehr Informationen wie die Server-Konfiguration aussieht - insbesondere interessant zu wissen wäre erst mal, welche Apache Version verwendet wird, welche PHP-Versionen zum Einsatz kommen und wie diesee installiert sind.

    MfG, Dennis.