[gelöst]Apache sendet PHP-Quelltext statt Skript zu inter...

Alles, was den Apache betrifft, kann hier besprochen werden.

[gelöst]Apache sendet PHP-Quelltext statt Skript zu inter...

Postby atarax » 01. July 2012 12:27

Ich habe seit kurzem unter Linux einen neuen lokalen LAMP-Server laufen, den ich wie schon seit Jahren nach der Anleitung auf http://www.zentralplan.de/?37 installiert habe. Neu ist jetzt allerdings, dass mir Apache anstelle des interpretierten PHP-Skripts den Quelltext des Skripts sendet, wenn die Dateiendung .PHP lautet. Lautet die Dateiendung dagegen .php ist alles ok. Das war bisher nicht so; da war es egal, wie man die Dateiendung geschrieben hat.

Apache ist Version 2.2.22
PHP ist Version 5.3.10

Bin für jeden Tipp dankbar.
LAMP auf Linux Mint Debian Edition
User avatar
atarax
 
Posts: 11
Joined: 15. June 2008 12:11
Location: Berlin
Operating System: Linux Mint

Re: Apache sendet PHP-Quelltext statt Skript zu interpretier

Postby Altrea » 01. July 2012 18:53

Hallo atarax,

atarax wrote:Das war bisher nicht so; da war es egal, wie man die Dateiendung geschrieben hat.

Da kann vermutlich niemand hier etwas zu sagen. Je nachdem nach welchen Kriterien du den PHP-Interpreter ansprichst (gängig ist hier <FilesMatch>) ist diese Anweisung natürlich case-sensitive und muss über den Schalter ?i auf case-insensitive geschaltet werden.
Alles weitere liegt bei dir, denn niemand hier kennt deine genaue Konfiguration.

mit freundlichen Grüßen,
Altrea
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11935
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: Apache sendet PHP-Quelltext statt Skript zu interpretier

Postby atarax » 01. July 2012 20:32

Das einzige, das ich geändert habe nach der Installation war, die PHP Fehlermeldungen anzuschalten, aber das hat ja nichts mit Apache zu tun. Ansonsten ist es einfach die Standard-Konfiguration, die bei der Installation der LAMP-Pakete automatisch vorgenommen wird. Wie dem auch sei, was genau hat es mit <FilesMatch> und dem Schalter ?i auf sich? Wo kann ich das einstellen? Irgendwelche Konfigurationsdateien?
LAMP auf Linux Mint Debian Edition
User avatar
atarax
 
Posts: 11
Joined: 15. June 2008 12:11
Location: Berlin
Operating System: Linux Mint

Re: Apache sendet PHP-Quelltext statt Skript zu interpretier

Postby Altrea » 01. July 2012 21:08

Du solltest ersteinmal nach einer Zeile wie
Code: Select all
SetHandler application/x-httpd-php

oder
Code: Select all
SetHandler application/x-httpd-php-cgi

suchen. Der Block der diesen umgibt definiert, welche Anfragen erst durch den PHP-Interpreter geleitet werden.
Ohne diesen Code zu kennen, kann ich dir nicht gezielt genug weiterhelfen.

Eine Standardanweisung könnte zum Beispiel so aussehen (kopiert aus dem XAMPP Paket für Windows):
Code: Select all
<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>

Um diese umzuschreiben, dass sie nichtmehr case sensitive ist sähe sie ungefähr so aus:
Code: Select all
<FilesMatch "\.(?i:php)$">
    SetHandler application/x-httpd-php
</FilesMatch>


Ohne gewähr, da ich es gerade mangels Linux Distribution nicht testen kann.

mit freundlichen Grüßen,
Altrea
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11935
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: Apache sendet PHP-Quelltext statt Skript zu interpretier

Postby atarax » 01. July 2012 21:29

Also in /etc/apache2/mods-available/php5.conf heißt es:
Code: Select all
    <FilesMatch "\.ph(p3?|tml)$">
   SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
   SetHandler application/x-httpd-php-source
    </FilesMatch>

Weiß nicht, ob ich heute noch dazu komme, deinen Tipp auszuprobieren, aber ich melde mich dann wieder. Danke erst mal.
LAMP auf Linux Mint Debian Edition
User avatar
atarax
 
Posts: 11
Joined: 15. June 2008 12:11
Location: Berlin
Operating System: Linux Mint

Re: Apache sendet PHP-Quelltext statt Skript zu interpretier

Postby atarax » 02. July 2012 08:45

Hab's jetzt mal hiermit versucht:
Code: Select all
    <FilesMatch "\.(?i:ph(p3?|tml))$">
   SetHandler application/x-httpd-php
    </FilesMatch>

Klappt soweit auch ganz gut. Bin mir nur nicht sicher, ob das so korrekt formuliert ist. War ein wenig geraten, weil ich mich mit regulären Ausdrücken nun überhaupt nicht auskenne. Ist das syntaktisch richtig so?

Vielen Dank.
LAMP auf Linux Mint Debian Edition
User avatar
atarax
 
Posts: 11
Joined: 15. June 2008 12:11
Location: Berlin
Operating System: Linux Mint

Re: Apache sendet PHP-Quelltext statt Skript zu interpretier

Postby Altrea » 02. July 2012 15:16

Wenn es so funktioniert, hast du alles richtig gemacht. Ich hätte es genauso probiert.
Ansonsten kannst du es auch etwas lesbarer schreiben:
Code: Select all
<FilesMatch "\.(?i:php3?|phtml)$">
    SetHandler application/x-httpd-php
</FilesMatch>


Sollte beides funktionieren.

mit freundlichen Grüßen,
Altrea
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11935
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: Apache sendet PHP-Quelltext statt Skript zu interpretier

Postby atarax » 02. July 2012 16:25

Alles klar, dann danke ich dir für deine Hilfe!
LAMP auf Linux Mint Debian Edition
User avatar
atarax
 
Posts: 11
Joined: 15. June 2008 12:11
Location: Berlin
Operating System: Linux Mint


Return to Apache

Who is online

Users browsing this forum: No registered users and 7 guests