Auf meinem Laptop (OSX 10.2.2) habe ich Apache 2.4.12 und PHP 5.5.22 mit PHP-FPM gebraut. Seltsamerweise bindet sich Apache richtig an das neue PHP, wenn ich den Server nach einer PHP-Datei anpinge, und führt es aus. Wenn jedoch ein PHP embedded
-Befehl in einer HTML-Datei enthalten ist (wie unten), kehrt PHP 5.5.22 bei der Interpretation der folgenden HTML-Datei zurück und startet die PHP-Distribution (5.5.14).
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<?php include_once("sysinfo.php"); ?>
</body>
</html>
was ist los? Jede Hilfe ist willkommen.
Antwort1
Das liegt daran, dass Apache bei der Entscheidung, ob eine Anfrage an PHP-FPM weitergeleitet oder intern verarbeitet werden soll, nicht in Dateien nachsieht. .html
Dateien werden nicht an PHP-FPM gesendet, obwohl dies so konfiguriert werden könnte. Das wäre allerdings Leistungsverschwendung.
IMHO, PHP in Dateien ausführennichtnamed .php
oder .phtml
was auch immer ist eine Fehlkonfiguration. Man würde erwarten, dass HTML-Dateien wirklich statisch sind. Wenn Sie PHP-FPM verwenden, sollten Sie wahrscheinlich mod_php deaktivieren.