Ik ben na een aantal jaren weg weer eens begonnen met php en wil een testenvironment maken op mijn pc. Ik heb een computer draaien met linux mint. Ik heb apache en php8.1 geïnstalleerd en geconfigureerd met behulp van de OceanDigital site.
Apache draait en PHP ook. Ik heb de virtualhost ook draaiende. Alleen nu het probleem: Ik heb een testpagina gemaakt en opgeslagen als test.php. Ik heb in die pagina wat HTML verwerkt en wat PHP. Nu wordt alles wat in HTML staat uitgevoerd, maar niet dat wat via PHP uitgevoerd moet worden.
Dus: <p>Hallo</p> komt op het scherm in de browser, maar <p><?php echo "Hello"; ?></p> niet.
Wat gaat hier mis?
Hoe heb je PHP geinstalleerd?
Uitvoeren in de commandline kan met:
php script.php
PHP geinstalleerd via de terminal met:
sudo apt install php

Met php script.php krijg ik een foutmelding. Dis heb ik even gegoocheld op php in de terminal. Dit is wat ik vond en gedaan heb met het volgende resultaat:
In de terminal:
$ php -a
Interactive shell

php > echo "hello world";
hello world
php >

Welke foutmelding? Je moet dit script uiteraard zelf aanmaken.
Gelukt. De opdracht test.php geeft in de terminal de tekst van test.php terug én de PHP-info. Misschien is hier iets in te vinden? Het PHP script wordt uitgevoerd dus.
$ php test.php
<!DOCTYPE html>
<html>
<head>
<title>TEST</title>
</head>
<body>
<div><h2>Dit is de test.php pagina in de directory van /var/www/html/test.nl/public_html/</h2></div>
<div><h1>Dit is de test.php pagina in de directory van /var/www/html/test.nl/public_html/</h1></div>
phpinfo()
PHP Version => 8.1.2-1ubuntu2.14
(PHPINFO)**
</body>
</html>

(PHPINFO)**-> Hier krijg ik de PHP-info terug. Dat is heel veel tekst, dus nu nog even niet gekopieerd. Kun je daarin misschien iets vinden? Zal ik het posten?
Dus PHP werkt in de commandline perfect.
Ik heb het idee dat Apache er nog niks mee doet omdat je de PHP-Apache library niet hebt meegeïnstalleerd.

Dus verwijder PHP eens, en installeer het eens met de Apache lib erbij:


apt remove php 
apt install php libapache2-mod-php

En daarna even Apache herstarten.

Houd wel in gedachten dat PHP 8.1 enkel nog security updates krijgt.
Gedaan.
Ik krijg een foutmelding voor de configuratie van libapache2-mod-php8.1 -> fout 1
Een afhankelijkheidsprobleem voorkomt dat de libapache2-mod-php8.1 geconfigureerd wordt.
E: Subprocess /usr/bin/dpkg returned an error code (1)
Heb je PHP eerst verwijderd?

Verder zijn Nederlandse foutmeldingen best irritant met zoeken op internet :-P
Omdat de errormelding niet specifiek met LAMP te maken had, ben ik overnieuw begonnen. In plaats van $ sudo apt install php, heb ik nu $ sudo apt install php libapache2-mod-php gebruikt.
En het werkt! Daar zat dus de fout. Heel erg bedankt voor je hulp, ik kan weer vooruit.
Fijn om te horen :-)

Reageren