installatie LAMP
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></p> niet.
Wat gaat hier mis?
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></p> niet.
Wat gaat hier mis?
Werkt dit wel?
Zo niet, dan ben ik benieuwd hoe je alles geïnstalleerd hebt, en welk stappenplan?
Normaal als je apt-get, yum of dnf gebruikt dan is alles gewoon werkend.
Zo niet, dan ben ik benieuwd hoe je alles geïnstalleerd hebt, en welk stappenplan?
Normaal als je apt-get, yum of dnf gebruikt dan is alles gewoon werkend.
De stappen die ik uitgevoerd heb.
In de terminal:
In the browser:
In de file test.php staat dit:
In de browser met localhost zie ik:
Dit is de test.php pagina in de directory van /var/www/html/test.nl/public_html/
Dus geen code die tussen staat
In de terminal:
Quote:
sudo apt update
sudo apt install apache2
sudo ufw app list:
Aplications available:
Apache
Apache Full
Apache Secure
CUPS
sudo ufw allow 'Apache'
sudo ufw status:
Status: active
To Action From
----- ------ -----
22/tcp ALLOW Anywhere
80 ALLOW Anywhere
443 ALLOW Anywhere
Apache ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
Apache (v6) ALLOW Anywhere (v6)
sudo systemctl status apache2:
apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-02-23 14:37:08 CET; 3h 40min ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 928 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Process: 5151 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
Main PID: 971 (apache2)
Tasks: 8 (limit: 16530)
Memory: 7.4M
CPU: 1.009s
CGroup: /system.slice/apache2.service
?? 971 /usr/sbin/apache2 -k start
??5155 /usr/sbin/apache2 -k start
??5156 /usr/sbin/apache2 -k start
??5157 /usr/sbin/apache2 -k start
??5158 /usr/sbin/apache2 -k start
??5159 /usr/sbin/apache2 -k start
??6060 /usr/sbin/apache2 -k start
??6079 /usr/sbin/apache2 -k start
feb 23 14:37:08 ZenBook systemd[1]: Starting The Apache HTTP Server...
feb 23 14:37:08 ZenBook apachectl[944]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName? directive globally to suppress this message
feb 23 14:37:08 ZenBook systemd[1]: Started The Apache HTTP Server
sudo apt install apache2
sudo ufw app list:
Aplications available:
Apache
Apache Full
Apache Secure
CUPS
sudo ufw allow 'Apache'
sudo ufw status:
Status: active
To Action From
----- ------ -----
22/tcp ALLOW Anywhere
80 ALLOW Anywhere
443 ALLOW Anywhere
Apache ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
Apache (v6) ALLOW Anywhere (v6)
sudo systemctl status apache2:
apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-02-23 14:37:08 CET; 3h 40min ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 928 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Process: 5151 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
Main PID: 971 (apache2)
Tasks: 8 (limit: 16530)
Memory: 7.4M
CPU: 1.009s
CGroup: /system.slice/apache2.service
?? 971 /usr/sbin/apache2 -k start
??5155 /usr/sbin/apache2 -k start
??5156 /usr/sbin/apache2 -k start
??5157 /usr/sbin/apache2 -k start
??5158 /usr/sbin/apache2 -k start
??5159 /usr/sbin/apache2 -k start
??6060 /usr/sbin/apache2 -k start
??6079 /usr/sbin/apache2 -k start
feb 23 14:37:08 ZenBook systemd[1]: Starting The Apache HTTP Server...
feb 23 14:37:08 ZenBook apachectl[944]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName? directive globally to suppress this message
feb 23 14:37:08 ZenBook systemd[1]: Started The Apache HTTP Server
In the browser:
Quote:
http://your_server_ip
returns: the apache2 default page correctly
In de /var/www/html directory heb ik aangemaakt: /test.nl/public_html/test.php
De /etc/apache2.conf file heb ik ongewijzigd gelaten .
In /etc/sites-available/test.nl.conf toegevoegd:
ServerAdmin [email protected]
ServerName test.nl
ServerAlias www.test.nl
DocumentRoot /var/www/html/test.nl/public_html
In de terminal:
sudo a2dissite 000-default.conf
sudo a2ensite test.nl.conf
sudo systemctl restart apache2
sudo apache2ctl configtest:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName? directive globally to suppress this message
Syntax OK
sudo nano /etc/hosts:
7.0.0.1 localhost
127.0.1.1 ZenBook
192.168.43.89 test.nl
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
returns: the apache2 default page correctly
In de /var/www/html directory heb ik aangemaakt: /test.nl/public_html/test.php
De /etc/apache2.conf file heb ik ongewijzigd gelaten .
In /etc/sites-available/test.nl.conf toegevoegd:
ServerAdmin [email protected]
ServerName test.nl
ServerAlias www.test.nl
DocumentRoot /var/www/html/test.nl/public_html
In de terminal:
sudo a2dissite 000-default.conf
sudo a2ensite test.nl.conf
sudo systemctl restart apache2
sudo apache2ctl configtest:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName? directive globally to suppress this message
Syntax OK
sudo nano /etc/hosts:
7.0.0.1 localhost
127.0.1.1 ZenBook
192.168.43.89 test.nl
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
In de file test.php staat dit:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<!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><?php echo "Dit is de test.php pagina in de directory van /var/www/html/test.nl/public_html/"; ?></h1></div>
<?php phpinfo(); ?>
</body>
</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><?php echo "Dit is de test.php pagina in de directory van /var/www/html/test.nl/public_html/"; ?></h1></div>
<?php phpinfo(); ?>
</body>
</html>
In de browser met localhost zie ik:
Dit is de test.php pagina in de directory van /var/www/html/test.nl/public_html/
Dus geen code die tussen staat
Gewijzigd op 24/02/2024 10:47:12 door - Ariën -
Dat is wel heel opmerkelijk. Is dat wat je ziet de letterlijke broncode (rechtsklik - > bron bekijken) volgens de browser?
Of zie je het direct staan? In dat geval sta je denk ik opgemaakte code te copy-pasten.
Of zie je het direct staan? In dat geval sta je denk ik opgemaakte code te copy-pasten.
Gewijzigd op 23/02/2024 20:33:42 door - Ariën -
De inhoud van test.php is door mij aangemaakt en zie ik ook zo letterlijk in de broncode, maar dus niet op de pagina in de browser. Alles wat PHP is blijft blank.
Gewijzigd op 24/02/2024 08:46:37 door Joyce M
Kort gezegd:
Met deze code zie je dus enkel een heading en de tekst 'Dit staat buiten PHP-blokken.' op het eind?
Erg vreemd dat de PHP-code gestript wordt?
Hoe bekijk je die pagina in je browser?
Met deze code zie je dus enkel een heading en de tekst 'Dit staat buiten PHP-blokken.' op het eind?
Code (php)
Erg vreemd dat de PHP-code gestript wordt?
Hoe bekijk je die pagina in je browser?
Gewijzigd op 24/02/2024 10:52:57 door - Ariën -
- Ariën - op 24/02/2024 10:45:22:
Kort gezegd:
Met deze code zie je dus enkel een heading en de tekst 'Dit staat buiten PHP-blokken.' op het eind?
Erg vreemd dat de PHP-code gestript wordt?
Hoe bekijk je die pagina in je browser?
Met deze code zie je dus enkel een heading en de tekst 'Dit staat buiten PHP-blokken.' op het eind?
Erg vreemd dat de PHP-code gestript wordt?
Hoe bekijk je die pagina in je browser?
Dat is precies wat er gebeurt. Ik snap er niets van.
Ik gebruik Mozilla, eigenlijk net zoals ik willekeurig welke andere internet pagina bekijk.
O ja, ter verificatie heb ik de pagina ook geopend in Chromium en daar gebeurt precies hetzelfde.
Ik zie niet dat je PHP hebt geïnstalleerd. Maar dan zou je gewoon in de sourcecode in je browser je PHP-code moeten zien.
Instaleer PHP eens.
Instaleer PHP eens.
Gewijzigd op 24/02/2024 15:42:01 door - Ariën -
Is geInstalleerd.
$ php -v
PHP 8.1.2-1ubuntu2.14 (cli) (built: Aug 18 2023 11:41:11) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with Zend OPcache v8.1.2-1ubuntu2.14, Copyright (c), by Zend Technologies
$ php -v
PHP 8.1.2-1ubuntu2.14 (cli) (built: Aug 18 2023 11:41:11) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with Zend OPcache v8.1.2-1ubuntu2.14, Copyright (c), by Zend Technologies
Nu pas? Of had je dat eerst al gedaan? Ik zie het niet in je stappenplan.
En wat gebeurt er als je een PHP script in de commandline uitvoert?
En wat gebeurt er als je een PHP script in de commandline uitvoert?
Gewijzigd op 24/02/2024 17:33:49 door - Ariën -
Ik heb PHP direct na apache geinstalleerd. Moet ik wellicht in de PHP installatie nog iets aanpassen? Dat heb ik niet gedaan.
Bedoel je de commandline in de terminal? Hoe doe je dat?
- Ariën - op 24/02/2024 17:33:22:
En wat gebeurt er als je een PHP script in de commandline uitvoert?
Bedoel je de commandline in de terminal? Hoe doe je dat?
Hoe heb je PHP geinstalleerd?
Uitvoeren in de commandline kan met:
php script.php
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 >
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?
$ 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?
Gewijzigd op 24/02/2024 18:40:57 door Joyce M
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:
En daarna even Apache herstarten.
Houd wel in gedachten dat PHP 8.1 enkel nog security updates krijgt.
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:
En daarna even Apache herstarten.
Houd wel in gedachten dat PHP 8.1 enkel nog security updates krijgt.
Gewijzigd op 24/02/2024 18:46:10 door - Ariën -
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)
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)
Gewijzigd op 24/02/2024 19:09:45 door Joyce M
Heb je PHP eerst verwijderd?
Verder zijn Nederlandse foutmeldingen best irritant met zoeken op internet :-P
Verder zijn Nederlandse foutmeldingen best irritant met zoeken op internet :-P
Gewijzigd op 24/02/2024 19:19:54 door - Ariën -
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.
En het werkt! Daar zat dus de fout. Heel erg bedankt voor je hulp, ik kan weer vooruit.
Fijn om te horen :-)




