installatie LAMP
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?
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.
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 -
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 -
Gewijzigd op 24/02/2024 08:46:37 door Joyce M
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.
$ 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
En wat gebeurt er als je een PHP script in de commandline uitvoert?
Gewijzigd op 24/02/2024 17:33:49 door - Ariën -
- 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?
Uitvoeren in de commandline kan met:
php script.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.
$ 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
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 -
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
Verder zijn Nederlandse foutmeldingen best irritant met zoeken op internet :-P
Gewijzigd op 24/02/2024 19:19:54 door - Ariën -
En het werkt! Daar zat dus de fout. Heel erg bedankt voor je hulp, ik kan weer vooruit.
Fijn om te horen :-)