Problem: Apache zeigt PHP-Code an
Wenn Apache PHP-Dateien bereitstellt, zeigt es manchmal den rohen PHP-Code an, anstatt ihn auszuführen. Dieses Problem verhindert, dass PHP-basierte Websites und Anwendungen korrekt funktionieren. Verschiedene Konfigurationsprobleme oder fehlende Teile in der Server-Einrichtung können dieses Problem verursachen.
Mögliche Gründe, warum Apache PHP nicht ausführt
Apache-Konfigurationsprobleme
Apache führt möglicherweise aufgrund von Konfigurationsproblemen keinen PHP-Code aus. Ein fehlendes PHP-Modul kann Apache daran hindern, PHP-Dateien zu verarbeiten. Wenn das PHP-Modul vorhanden, aber nicht korrekt geladen ist, erkennt Apache den PHP-Code nicht. Falsche Dateizuordnungen können auch dazu führen, dass Apache PHP-Dateien als einfachen Text statt als Skripte behandelt.
Tipp: Apache-Konfiguration überprüfen
Um zu überprüfen, ob Apache korrekt für die Verarbeitung von PHP konfiguriert ist, suchen Sie nach der folgenden Zeile in Ihrer Apache-Konfigurationsdatei (normalerweise httpd.conf oder apache2.conf):
LoadModule php_module modules/libphp.so
Stellen Sie sicher, dass diese Zeile nicht auskommentiert ist und der Pfad zum PHP-Modul korrekt ist.
PHP-Installationsprobleme
Probleme bei der PHP-Installation können zu Ausführungsproblemen führen. Eine unvollständige PHP-Einrichtung kann fehlende Komponenten zur Folge haben, die für die ordnungsgemäße Funktion benötigt werden. Die Verwendung einer PHP-Version, die nicht zu Ihrer Apache-Installation passt, kann Konflikte verursachen. Eine falsch konfigurierte php.ini-Datei kann Apache daran hindern, PHP-Code korrekt zu erkennen oder auszuführen.
Lösungen für Apache PHP-Ausführungsprobleme
Überprüfen des Apache PHP-Moduls
Um Apache PHP-Ausführungsprobleme zu beheben, überprüfen Sie die Apache-Konfiguration auf das PHP-Modul. Suchen Sie nach einer Zeile, die das PHP-Modul lädt, wie LoadModule php_module modules/libphp.so
. Stellen Sie sicher, dass diese Zeile nicht auskommentiert ist und der Pfad zum Modul korrekt ist. Wenn das Modul fehlt, müssen Sie es möglicherweise installieren oder Ihre Apache-Konfiguration aktualisieren.
Überprüfen Sie, ob der Modulpfad korrekt ist. Der Pfad sollte auf den Ort Ihrer PHP-Installation zeigen. Wenn Sie sich über den korrekten Pfad nicht sicher sind, konsultieren Sie die Dokumentation Ihrer PHP-Installation oder verwenden Sie den Befehl whereis php
auf Unix-basierten Systemen, um die PHP-Dateien zu finden.
Um die Modulaktivierung zu bestätigen, starten Sie Apache neu und überprüfen Sie die Fehlerprotokolle auf Meldungen bezüglich des PHP-Moduls. Wenn keine Fehler auftreten, sollte das Modul aktiv sein.
Tipp: PHP-Modul mit phpinfo() überprüfen
Erstellen Sie eine PHP-Datei mit der phpinfo()-Funktion, um zu prüfen, ob PHP korrekt funktioniert:
<?php
phpinfo();
?>
Speichern Sie dies als info.php in Ihrem Web-Root-Verzeichnis und rufen Sie es über Ihren Browser auf. Wenn Sie die PHP-Konfigurationsseite sehen, funktioniert das Modul.
Apache für die Verarbeitung von PHP-Dateien konfigurieren
Fügen Sie den korrekten MIME-Typ für PHP hinzu, indem Sie diese Zeile in Ihre Apache-Konfiguration aufnehmen:
AddType application/x-httpd-php .php
Dies weist Apache an, Dateien mit der Erweiterung .php als PHP-Skripte zu behandeln.
Richten Sie Dateierweiterungen ein, indem Sie alle anderen Erweiterungen hinzufügen, die Apache als PHP-Dateien behandeln soll. Zum Beispiel:
AddType application/x-httpd-php .php .phtml
Nachdem Sie diese Änderungen vorgenommen haben, starten Sie Apache neu, um die neue Konfiguration anzuwenden. Auf den meisten Systemen können Sie dies mit dem Befehl sudo service apache2 restart
oder sudo systemctl restart apache2
tun.
Fehlerbehebung bei der PHP-Installation
Bestätigen Sie, dass PHP installiert ist, indem Sie php -v
in der Kommandozeile ausführen. Dieser Befehl zeigt die PHP-Version und Installationsdetails an. Wenn es nicht funktioniert, ist PHP möglicherweise nicht installiert oder nicht in Ihrem System-PATH.
Überprüfen Sie die PHP-Versionskompatibilität mit Ihrer Apache-Installation. Stellen Sie sicher, dass Sie eine PHP-Version verwenden, die mit Ihrer Apache-Version kompatibel ist. Überprüfen Sie die Dokumentation sowohl für Apache als auch für PHP, um kompatible Versionen zu finden.
Überprüfen Sie Ihre php.ini-Einstellungen, um sicherzustellen, dass PHP korrekt eingerichtet ist. Suchen Sie nach Einstellungen wie display_errors
und error_reporting
, um bei der Diagnose von PHP-bezogenen Problemen zu helfen. Sie können den Speicherort Ihrer php.ini-Datei finden, indem Sie php --ini
in der Kommandozeile ausführen.