index.php wird als Liste auf dem Apache2-Server angezeigt

index.php wird als Liste auf dem Apache2-Server angezeigt

Mein Betriebssystem ist Ubuntu 22.04

Ich begann mit der Installation von PHP 8.1

Ich habe dann Apache/2.4.52 (Ubuntu) Server installiert

Dann habe ich Folgendes hinzugefügt:

sudo apt-get install -y php php-cli php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-bcmath libapache2-mod-php

Der Befehl: php -v erzeugt:

PHP 8.1.2-1ubuntu2.8 (cli) (built: Nov  2 2022 13:35:25) (NTS)

Dann habe ich geändert:

/etc/apache2/mods-enabled/dir.conf: DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm

Ich habe den Apache2-Server neu gestartet.

Ich habe eine index.php-Datei hinzugefügt, aber wenn ich versuche, auf die Webseite zu gehen, sehe ich nur die Auflistung von index.php

<?php
echo 'This is a test';

Ich habe dort auch eine Datei index.html:

<h1>This is a test</h1>

Wenn ich index.php lösche und zur Webseite zurückkehre, sehe ich

This is a test

Wie erwartet in großer, fetter Schrift.

Das PHP-Handbuch (sowie die Antwort, die ich auf dieser Site gefunden habe) verweist auf eine httpd.conf-Datei und möchte, dass ich Folgendes hinzufüge:

LoadModule php_module modules/libphp.so

aber ich habe kein httpd.conf unter Ubuntu 22.04, sondern ein apache2.conf im Ordner /etc/apaache2, eine Skelettdatei, die alles aus verschiedenen Unterordnern lädt.

Als ich es versucht habe:

sudo a2enmod php

Ich habe:

ERROR: Module php does not exist!

Irgendwelche Ideen?

Bearbeiten:

Ich tat:

cd /etc/apache2
grep -R php

Und das habe ich bekommen:

sites-available/default-ssl.conf:       <FilesMatch "\.(cgi|shtml|phtml|php)$">
sites-available/default-ssl.conf.original:      <FilesMatch "\.(cgi|shtml|phtml|php)$">
mods-enabled/dir.conf:  DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
mods-available/dir.conf:    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm

Und tun:

sudo a2enmod php8.1

Erzeugt den gleichen Fehler:

ERROR: Module php8.1 does not exist!

Und wenn ich nach den installierten Paketen grepe, erhalte ich:

libapache2-mod-php8.1/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.8 amd64 [installed,automatic]
libapache2-mod-php/jammy,now 2:8.1+92ubuntu1 all [installed]
php-bcmath/jammy,now 2:8.1+92ubuntu1 all [installed]
php-cli/jammy,now 2:8.1+92ubuntu1 all [installed]
php-common/jammy,now 2:92ubuntu1 all [installed]
php-curl/jammy,now 2:8.1+92ubuntu1 all [installed]
php-gd/jammy,now 2:8.1+92ubuntu1 all [installed]
php-mbstring/jammy,now 2:8.1+92ubuntu1 all [installed]
php-mysql/jammy,now 2:8.1+92ubuntu1 all [installed]
php-xml/jammy,now 2:8.1+92ubuntu1 all [installed]
php-zip/jammy,now 2:8.1+92ubuntu1 all [installed]
php8.1-bcmath/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.8 amd64 [installed]
php8.1-cli/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.8 amd64 [installed]
php8.1-common/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.8 amd64 [installed]
php8.1-curl/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.8 amd64 [installed]
php8.1-gd/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.8 amd64 [installed]
php8.1-mbstring/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.8 amd64 [installed]
php8.1-mysql/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.8 amd64 [installed]
php8.1-opcache/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.8 amd64 [installed,automatic]
php8.1-readline/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.8 amd64 [installed,automatic]
php8.1-xml/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.8 amd64 [installed]
php8.1-zip/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.8 amd64 [installed]
php8.1/jammy-updates,jammy-security,now 8.1.2-1ubuntu2.8 all [installed,automatic]
php/jammy,now 2:8.1+92ubuntu1 all [installed]

verwandte Informationen