Multiviews und PHP
Gunnar Bittersmann
- webserver
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
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
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
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
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.
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
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
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
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
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
Gehen Sie in den SelfHTML-Chat! Gehen Sie direkt dorthin!
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.
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.
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
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.