- Ja und nein. Es gibt immer einen Typ und einen Handler. Wenn Sie sich die Dokumentation für Handler ansehen, heißt es:
Im Allgemeinen haben Dateien implizite Handler, basierend auf dem Dateityp. Normalerweise werden alle Dateien einfach vom Server bereitgestellt, aber bestimmte Dateitypen werden separat "behandelt".
Es ist daher wahrscheinlich, dass Sie Handler getrennt vom Typ konfigurieren können. Wie in meiner ursprünglichen Antwort sieht es so aus, als würde es die PHP-INSTALL-Datei inzwischen vorschlagen.
Wenn Sie sich den Link oben ansehen, wird der Standard-Handler aufgerufen, der die Datei wahrscheinlich nur sendet, da sie für einen Webserver am häufigsten verwendet wird.
Ich verstehe nicht, was du damit meinst. Wenn eine Datei eine Erweiterung hat, dieser Erweiterung jedoch kein Mime-Typ zugeordnet ist, wird der Standard-Mime-Typ verwendet. Wenn Sie sich den Beitrag ansehen Wie kann ich alle nicht erkannten Dateitypen in Apache2 als Binärdateien erstellen? Der Standard-MIME-Typ sollte laut Dokumentation zum Kernmodul text / plain sein .
/ Ursprüngliche Antwort: Wenn Sie nach einer Quelle suchen, wie Sie PHP-Unterstützung für Apache hinzufügen können, lesen Sie einfach die INSTALL-Datei, die im PHP-Download enthalten ist.
Entsprechend würden Sie für Apache 2.x mit PHP 5.6.25 verwenden SetHandler
.
Nun, wenn Sie Ihr Beispiel betrachten:
AddType text / html .php .phps
AddHandler-Anwendung / x-httpd-php .php
AddHandler-Anwendung / x-httpd-php-source .phps
Sie sind richtig, dass gemäß der Apache-Dokumentation AddType
für statische Dateien verwendet werden sollte. Die Verwendung von AddHandler hingegen kann ein Sicherheitsrisiko darstellen. Zumindest wird es nicht von der INSTALL-Datei von PHP empfohlen, und es wird ausdrücklich erwähnt, dass ein reiner AddType dazu führen kann, dass Dateien ausgeführt werden, die eigentlich keine PHP-Dateien sind. Aus der INSTALL-Datei Punkt 8 für Apache 2.x:
Sagen Sie dem Apache, dass er bestimmte Erweiterungen als PHP analysiert. Lassen Sie uns zum Beispiel Apache-PHP-Dateien als Apache analysieren. Anstatt nur die Apache-AddType-Direktive zu verwenden, möchten wir verhindern, dass potenziell gefährliche Uploads und erstellte Dateien wie exploit.php.jpg als PHP ausgeführt werden. In diesem Beispiel können Sie alle Erweiterungen als PHP analysieren, indem Sie sie einfach hinzufügen. Wir werden .php zur Demonstration hinzufügen.
<FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>
Wenn Sie sich die Dokumentation über AddHandler
/ ansehen SetHandler
, wird klar, dass AddHandler und SetHandler etwas andere Zwecke erfüllen und dass der Vorschlag aus der INSTALL-Datei Sie "ermutigen" würde, Ihre eigenen Header zu senden, da sich der interne Handler für PHP-Dateien ändern würde.
- Nein, es bedeutet, dass der standardmäßige Mime-Typ, der an den Client gesendet wird, text / html ist, da es ziemlich wahrscheinlich ist, dass PHP-Dateien HTML-Ausgabe generieren.