Apache2 failed : erreur de syntaxe depuis Mint 21.1

Postez ici toutes vos demandes d’assistance générale concernant le fonctionnement de Linux Mint, qui n'entrent pas dans les autres rubriques.
Did

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par Did »

Dernier message de la page précédente :

Ok.
Le reste du code n'apporterait rien de plus.
Bon, toute façon, le code est opérationnel, et en local, ça ne pose souci que depuis la mise à niveau de Mint. Donc la solution n'est pas dans le code des pages html/php.
Faut que je cherche au niveau de php etc, de la configuration d'Apache2....
Merci en tout cas.
Je vais m'y replonger quand j'aurai plus de temps.
Did

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par Did »

Hey !!! :)
Hello,
visible avec ce que j'ai donné de code. Je viens d'avoir une idée : j'appelle le fichier style.css dans le <head>, mais par un include vers un autre fichier .inc. Or "include" est une procédure type php, et si un truc bugge au niveau de php, alors ça pourrait expliquer le fait que la mise en forme ne se fasse pas ?

J'ai tenté un truc, en recopiant juste la ligne d'appel du fichier style.css, directement dans le <head> (et non plus par un .inc dans head), et là, j'ai un changement : la mise en forme s'affiche, pas correctement (car fait à la va-vite pour tester), mais elle s'affiche !

Cela prouve une chose : Apache2 n'appelle pas correctement les fonctions php.

Grâce à la purge d'Apache, j'ai tout réinstallé, mais ensuite, certains fichiers à modifier (cf cette page d'aidehttps://blog.pascal-martin.fr/public/zf ... hosts.html, je les ai copiés en écrasant les précédents (suis allé trop vite), et ça doit être ça le souci. Faut que je reprenne tout je pense. Et ensuite, que je garde les nouveaux fichiers, MAIS en modifiant à la main le code dans ces fichiers.

Je fais ça dès que je peux.
Encore merci (pour les conseils, la purge, etc).
Did

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par Did »

Du tout. Soit il les interpréte soit il ne les interprete pas
-> il ne les interprète pas. C'est d'ailleurs pour ça que mon site apparaît partiellement, car plein de parties sont encore appelées avec des include, et c'est donc toutes ces parties qui ne s'affichent pas.
Ensuite règle ton php.ini pour voir les erreurs, ainsi si soucis, les erreurs seront visualisées à l'écran
J'ai pas idée de ce que ça signifie ça.

Concernant phpinfo(), où est-ce que je dois écrire ce simple script ? simplement dans un fichier comme index.php ?
Si c'est ça, j'ai essayé, ça donne rien.

Me faut le temps de refaire la manip, purge et reconfigurer Apache2.
Modifié en dernier par Did le jeu. 5 janv. 2023 22:38, modifié 1 fois.
Did

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par Did »

[]mess 2]
Ah, par contre, quand je reprends du début, je refais un test d'Apache2, et

Code : Tout sélectionner

sudo apachectl configtest

AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/ports.conf:8
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
Syntaxe ok. C'est déjà ça.
+ problème à résoudre.

Donc je rajoute « ServerName nom »

La réponse au terminal s'améliore :

Code : Tout sélectionner

sudo apachectl configtest
AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/ports.conf:8
Syntax OK
Ça progresse, mais j'ai pas encore en local les include qui fonctionnent.
Did

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par Did »

[mess3]
Et pour php.ini;, je fais une recherche sur mon disk, et c'est là que je vois que dans /etc/php/ ben j'ai des dossiers pour la version 8.1, mais aussi pour la version 7.4 !!
C'est normal ça ?
Et ça ne peut pas poser de souci ? (conflit etc) ?

Si c'est un souci, je fais comment pour "purger" ou effacer ?
Did

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par Did »

Hello,
tout est dans /etc donc pour y écrire, j'y accède en superutilisateur. De même pour écrire dans var/www/

Alors je récapitule un peu :
- Ma page index.php qui est dans var/www/dossier s'affiche sur FF en localhost/dossier/index.php
- Mais le css n'apparaît pas car la ligne qui appelle le fichier style.css est amenée dans index.php par un include.
- Or, si j'écris cette ligne d'appel à style.css directement dans le <head> de index.php sans passer par un include, alors le css s'affiche.

- si je fais un phpinfo() (par exemple dans un fichier essai.php) dans FF, c'est écran blanc. Si j'ajoute "blabla" dans essai.php en dehors de <php>, alors "blabla" et uniquement "blabla" apparaît, preuve que phpinfo() ne réagit pas, mais essai.php est bien "lu" par FF.
- J'ai plusieurs fichiers php.ini, puisque j'ai déjà 2 dossiers php, un 7.4 et un 8.1, et j'ai deux php.ini dans chacun de ces dossiers un dans /apache2 et un dans /cli, soit 4 php.ini ! Donc je ne sais même pas lequel compte....

C'est compliqué... C'est pour ça que je demandais s'il est possible de purger/effacer, propre, et tout réinstaller (ça ça m'intéresse comme procédure au Terminal stp), car là, je m'embrouille plus qu'autre chose... (pour moi, suivre une procédure d'install type tuto à la la lettre, c'est faisable, mais plus, c'est vraiment compliqué).

Le souci, c'est que le php n'est pas actif quand je lance une page comme index.php dans FF. Mais je ne sais pas ce qu'il manque, dans Apache2 ou ailleurs, pour activer le php...

Voilà voilà... :)
SeinworB
Messages : 35
Enregistré le : ven. 16 déc. 2022 10:44
Localisation : Cher (18)

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par SeinworB »

STOP on arrète TOUT!

Apache c'est un serveur qui permet d'envoyer tes fichiers à la demande d'un utilisateur (le navigateur) qui lui interprète le code html /css , pour le php c'est apache qui gère !
Quand quelqu’un souhaite visiter un site web, il saisit un nom de domaine dans la barre d’adresse de son navigateur. Puis le serveur web fournit les fichiers demandés en agissant comme un livreur virtuel.
voir ici == > Mozzila l'explique bien
lire le spoiler
Donc que se passe-t-il, exactement ?
Lorsque vous saisissez une adresse web dans votre navigateur (dans notre comparaison, c'est comme aller au magasin) :

le navigateur demande au DNS l'adresse réelle du serveur contenant le site web (vous trouvez l'adresse du magasin).
le navigateur envoie une requête HTTP au serveur pour lui demander d'envoyer une copie du site web au client (vous allez au magasin et vous passez commande). Ce message, et les autres données envoyées entre le client et le serveur, sont échangés par l'intermédiaire de la connexion internet en utilisant TCP/IP.
si le serveur accepte la requête émise par le client, le serveur envoie un message « 200 OK » au client qui signifie : « Pas de problème, tu peux consulter ce site web, le voici ». Ensuite le serveur commence à envoyer les fichiers du site web au navigateur sous forme d'une série de petits morceaux nommés "paquet" (le magasin vous livre les produits et vous les ramenez chez vous).
le navigateur assemble les différents morceaux pour recomposer le site web en entier puis l'affiche sur votre écran (les produits sont à votre porte — des nouveaux trucs tout neufs, génial !).
A la lecture de tout le sujet, tu as juste eu, à la base, un problème car php7 et 8 ne pouvaient juste pas cohabiter d'ou plantage... supprimer les lib php7 et reload apache aurait normalement suffit a mon sens.

Concernant ton CSS qui n'est pas interprété c'est qu'a mon avis tu n'appel pas correctement ton/tes CSS... :/ si c'est pas ça c'est que php n'est pas bien configuré => voir la fin de mon message.
Pour preuve que Apache n'a rien avoir la dedans, désinstalle le et ouvre un fichier .html simple qui appel un css mais sans php dedans, normalement ton navigateur vas le lire !

Vérifie déjà l'arborescence de tes fichiers.
Quand tu appel tes scripts en "include" l'appel css ne doit pas être bon.

Je vois la chose ainsi:
___/www/ <==> racine du site (contient index.php, et les répertoires "style" et "inc")
|___index.php <==> qui appel tout tes scripts en include
|___/style/ <==> répertoire des CSS contient tes "styles.css" et tes images
|___/inc/ <==> répertoire contenant les fichier "include" appelé par l'index
Si ton index.php appel un document qui se trouve dans le document /inc/ (j'imagine ta partie header) l'appel de css doit remonter dans les dossiers pour retourner dans l'arborescence retrouver le bon chemin vers ton style.css

dans ton fichier "header" qui se trouve dans le dossier /inc/ appelé par le fichier index.php dans la racine /www/ ta ligne d'appel css devraient ressembler à ceci:
<link rel="stylesheet" href="../style/Style.css" /> <!-- ligne pour relier au fichier mise en forme -->
c'est la base du html/css... les "../" permettent de remonter d'un répertoire. si tu veux remonter de 2

Code : Tout sélectionner

../../style/tagada/tsointsoin.php /.css /.html

concernant:

Code : Tout sélectionner

    <!-- [if lt IE 9]>
	<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
	<![endif] -->
il me semble que c'est du JS afin de contourner les problèmes que IE9 avait avec html5... normalement plus utile... d'ailleurs si c'est commenté j'imagine que tu ne l'a pas inventé.

je n'ai jamais appris a appeler mes fichiers php.
monfichier.inc.php
c'est compliquer la lecture au système et cela n'apporte strictement rien... simplement ".php" ca suffit !

ça doit faire un moment que t'a pas "bidouillé" avec le site du zéro ! :P

Fin du message
desolé j'avais répondu avant de lire le dernier message du sujet donc voici pour toi la demande que tu a faite !

Pour repartir sur une installation propre d'apache.

déja sauvegarde toute la racine de ton site quelque part, normalement même a la désinstallation le dossier /www/html/ ne devrait pas être supprimé si celui-ci est plein. pour info si tu a modifier ou ajouté des Virtualhost je ne pourrait guère plus t'aider.

je vais te faire installer ce qu'on appel LAMP¨(Linux Apache Mysql/mariadb PHP)
je t'inclue la base de donnée car même si tu n'en a pas l'utilité pour l'instant on ne sait jamais.

pour aller plus vite: double clic dans la zone code te sélectionne toute la ligne,clic droit copie ==> terminal , clic molette ! ;)

On commence par supprimer 1 a 1 tous les paquets nécessaire a apache, php, mysql.
même si ce n'est pas recommandé je te conseil de te mettre en compte root pour la première étape je te dirai quand sortir du mode.
Pour t'ouvrir les porte du compte root dans le terminal :

Code : Tout sélectionner

sudo su 
la on te demande ton mdp tu devrais voir # apparaitre a la place de $

je m'excuse par avance si la sémantique ne convient pas aux utilisateurs avéré de linux mais je procède comme cela.

Code : Tout sélectionner

sudo apt remove --purge php
Choisi O et touche Enter pour valider quand ça te le demande.

Code : Tout sélectionner

sudo apt remove --purge apache
Choisi O et touche Enter pour valider quand ça te le demande.

le suivant que si tu as déja installé mysql

Code : Tout sélectionner

sudo apt remove --purge mysql
Choisi O et touche Enter pour valider quand ça te le demande.

ensuite afin de bien nettoyer le système.

Code : Tout sélectionner

sudo apt autoremove
Choisi O et touche Enter pour valider quand ça te le demande.

Normalement a ce stade tu n'a plus aucun composant php / apache /mysql /mariadb

Ensuite on met a jour la libraire de paquets

Code : Tout sélectionner

sudo apt-get update
Choisi O et touche Enter pour valider quand ça te le demande.
Si tout est à jour normalement ça te demande rien.

On sort du mode root tape dans le terminal

Code : Tout sélectionner

Exit
maintenant on réinstalle LAMP

Code : Tout sélectionner

sudo apt-get install apache2 php mysql-server
Choisi O et touche Enter pour valider quand ça te le demande.


Tout devrait s'installer tout seul et se configurer pour une utilisation "en local" car les modules de sécurisation d'apache ne sont pas activés par défaut donc attention ceci n'est vraiment qu'en local


Pour vérifier que cela fonctionne il suffit d'aller redéposer un fichier info php dans la dossier /www/html/ et de l'appeler dans ton navigateur par:
http://127.0.0.1/ =>> ce qu'i affichera le index.html ou php qui se trouve dans /www/html/
ou pour le même effet http://localhost/.

Concernant mysql si tu n'en a pas besoin, je pourrais développé car ca fait 3 semaines que je n'arrivais plus a faire fonctionner LAMP, il s'avère que la maj d'ubuntu a foutu un problème au niveau de la configuration de mysql avec phpmyadmin. Perso j'en suis a installer les protocles SSL et SSH et je me tate a installer une partier serveur mail pour être trankilou bilou mais ça c'est une autre histoire !

Allé tiens nous au courant ;)
PC: Acer Aspire X1301
CM: Packard Bell imedia S3210
CG: Nvidia GT218 (GeForce 310)
CPU: AMD athlon II x2 dual core
RAM: 4Go
OS: Linux Mint 21 Xfce 4.16.0 5.15.0-56-generic x86_64
Image
SeinworB
Messages : 35
Enregistré le : ven. 16 déc. 2022 10:44
Localisation : Cher (18)

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par SeinworB »

cyrille a écrit : ↑
sam. 7 janv. 2023 11:17
On peut faire cohabiter plusieurs versions de php sur un serveur apache
https://www.digitalocean.com/community/ ... untu-18-04
https://tecadmin.net/how-to-install-mul ... ntu-20-04/
https://bobcares.com/blog/run-multiple- ... e-php-fpm/
Je n'ai pas dis le contraire, mais techniquement pas très utile ce qui est programmé en général pour du php7 reste compatible pour du 8.
cyrille a écrit : ↑
sam. 7 janv. 2023 11:17
Enfin apache longtemps que pas utilisé , je lui préfère comme dit plus haut nginx où la cohabitation de plusieurs versions de php est chose usuelle

D'ailleurs, voici une conf d'un de mes serveurs, tu y vois en cohabitation du php5, php7.0, 7.1, 7.2, 7.3, 7.4, 8.0 et 8.1

En fonction de l'application php, la version de php la plus adéquate est appelée
nginx je ne l'utilise pas je ne connais pas son fonctionnement , je le prendrai surement pour mon second serveur, mais il me semble bien que avec Apache tu peut effectivement télécharger et installer plusieurs version mais chacun des virtualhost doit être paramétré pour utiliser 1 seul et unique version de php.

Donc 1 Virtualhost va avec sa config PHP , impossible d'avoir 3 php sur 1 seul VH
PC: Acer Aspire X1301
CM: Packard Bell imedia S3210
CG: Nvidia GT218 (GeForce 310)
CPU: AMD athlon II x2 dual core
RAM: 4Go
OS: Linux Mint 21 Xfce 4.16.0 5.15.0-56-generic x86_64
Image
SeinworB
Messages : 35
Enregistré le : ven. 16 déc. 2022 10:44
Localisation : Cher (18)

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par SeinworB »

désolé je ne cite pas étant dans la continuité ;)

Alors enfait de ce que j'ai compris de fonctionnement de la pile LAMP c'est que de base si on installe seulement php, il est impossible de faire cohabiter et fonctionner plusieurs version de php sur un seul virtual host. il faut déclarer une instance pour chaques Vhost et chaques appli une a une.

Si on veut profiter du multi , c'est PHP-FPM qu'il faut utiliser
Voir un tutoriel chez ==> DigitalOcean

Je n'ai pas essayé, le tuto ci-dessus est pour une ancienne version (php7.x) mais ça doit être similaire.
Je ferais des tests cet après midi sur un autre serveur !
PC: Acer Aspire X1301
CM: Packard Bell imedia S3210
CG: Nvidia GT218 (GeForce 310)
CPU: AMD athlon II x2 dual core
RAM: 4Go
OS: Linux Mint 21 Xfce 4.16.0 5.15.0-56-generic x86_64
Image
Did

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par Did »

Hello à vous,
SeinworB a écrit : sam. 7 janv. 2023 02:44 STOP on arrète TOUT!
A la lecture de tout le sujet, tu as juste eu, à la base, un problème car php7 et 8 ne pouvaient juste pas cohabiter d'ou plantage... supprimer les lib php7 et reload apache aurait normalement suffit a mon sens.

Concernant ton CSS qui n'est pas interprété c'est qu'a mon avis tu n'appel pas correctement ton/tes CSS... :/ si c'est pas ça c'est que php n'est pas bien configuré => voir la fin de mon message.
Plantage car Php 7 et 8, oui probable.
Si si, mon CSS est interprété. Ce sont les "include" qui ne le sont pas !!!! (J'ai d'ailleurs une autre preuve de cela : sur une autre page.php, j'ai programmé une boucle de calcul en php, qui impose un pourcentage en le répétant de nouveau en boucle. Ben le titre est affiché (c'est du html), mais les calculs ne sont pas affichés, car ils sont entre des "bornes" <php> ...)

Alors du coup, je viens de suivre ta procédure de purge et remove.
À la fin, je vérifie mais il me reste quand même TOUT dans /etc !!! ... Donc à tout hasard, je refais la manip de changer les noms des dossiers dans /etc comme suit :
apache2 en apache2.bak
php en php.bak

Puis je lance la réinstall que tu m'as indiqué.

Ce que je ne comprends pas, c'est qu'aucun nouveau dossier apache2 ou php n'est apparu...
C'est normal ça ?

Et le plus drôle par contre, c'est que ma page index.php s'affiche quand même encore dans FF (mais comme avant, sans tenir compte des include ! Alors là, je me marre ! :))
C'est d'autant plus drôle qu'il faut donner le chemin de cette page index.php, car elle n'est pas directement dans /var/www, mais dans un sous dossier : /var/www/site_actif !! :)

ah nannn !! Stop !!! (modif de mon comm' !!!)
->
Concernant cette page.php avec une boucle de calcul, quand je rajoute la ligne d'appel à style.php directement dans le <head> au lieu de l'intégrer par un include, comme déjà dit, le css s'affiche !
Mais un truc bizarre apparaît :
Au lieu d'afficher les résultats de calcul de la boucle php, qui prennent environ 70lignes, j'ai ceci à la place qui s'affiche :

Code : Tout sélectionner

'; $nombre_pourcentage = $nombre_pourcentage + 3; $nombre_annee++; } ?> 
Et ça, c'est bien pourtant dans la boucle php !!!! (c'est dans "echo" dans la boucle en fait)
C'est bizarre ça ! À noter que les polices dans le html ne passe pas correctement non plus...

Or, je précise que tout cela fonctionne, et fonctionnait avant la mise à niveau ! Toutes ces pages passent sans souci au W3C et sont opérationnelles !!!


Voilà voilà... :)
SeinworB
Messages : 35
Enregistré le : ven. 16 déc. 2022 10:44
Localisation : Cher (18)

Re: Apache2 failed : erreur de syntaxe depuis Mint 21.1

Message par SeinworB »

Aujourd'hui dis toi que si tu mets une page info.php dans un dossier n'importe lequel, du moment qu'il est dans le dossier html d'origine de config d'apache.
dans ce fichier tu marques juste:

Code : Tout sélectionner

<?php phpinfo(); ?>
disons que tu le met dans /www/html/info.php (le dossier html étant la racine d'origine du VH d'apache)

tu le joint en utilisant FF par l'adresse http://127.0.0.1/info.php ou http://localhost/info.php, si tu double clic sur ton fichier pour l'ouvrir forcément ça n'interprète pas ton php car dans ce cas tu ne passe plus par apache...

si le navigateur (FF, Chrome and cie) te retourne une grande page violette avec plein d'info de php c'est que ton PHP est actif et fonctionne.
Did a écrit : sam. 7 janv. 2023 21:38 Plantage car Php 7 et 8, oui probable.
C'est même sûr car comme je l'ai dis pour choisir quel php utiliser il faut régler les paramètres en fonction du VH.
Did a écrit : sam. 7 janv. 2023 21:38 Si si, mon CSS est interprété. Ce sont les "include" qui ne le sont pas !!!! (J'ai d'ailleurs une autre preuve de cela : sur une autre page.php, j'ai programmé une boucle de calcul en php, qui impose un pourcentage en le répétant de nouveau en boucle. Ben le titre est affiché (c'est du html), mais les calculs ne sont pas affichés, car ils sont entre des "bornes" <php> ...)
comment accède tu à ta page?
Did a écrit : sam. 7 janv. 2023 21:38 Alors du coup, je viens de suivre ta procédure de purge et remove.
À la fin, je vérifie mais il me reste quand même TOUT dans /etc !!! ... Donc à tout hasard, je refais la manip de changer les noms des dossiers dans /etc comme suit :
apache2 en apache2.bak
php en php.bak
Je ne t'ai jamais dis de toucher a quoi que ce soit d'autre... un conseil quand tu veux installer des trucs, suis les doc ubuntu, même pas a jour, ça fonctionne mieux que les tutos de monsieur X sur internet....
Did a écrit : sam. 7 janv. 2023 21:38 Puis je lance la réinstall que tu m'as indiqué.
du coup tu réinstalle en plus les documents que tu a modifié, qui,a mon avis eux ne se purgent plus...
Did a écrit : sam. 7 janv. 2023 21:38 Ce que je ne comprends pas, c'est qu'aucun nouveau dossier apache2 ou php n'est apparu...
C'est normal ça ?
je ne comprend pas?
Did a écrit : sam. 7 janv. 2023 21:38 Et le plus drôle par contre, c'est que ma page index.php s'affiche quand même encore dans FF (mais comme avant, sans tenir compte des include ! Alors là, je me marre ! :))
C'est d'autant plus drôle qu'il faut donner le chemin de cette page index.php, car elle n'est pas directement dans /var/www, mais dans un sous dossier : /var/www/site_actif !! :)
comment joint tu cette page dans ton navigateur?==> http://127.0.0.1/site_actif/ ?

Did a écrit : sam. 7 janv. 2023 21:38 ah nannn !! Stop !!! (modif de mon comm' !!!)
->
Concernant cette page.php avec une boucle de calcul, quand je rajoute la ligne d'appel à style.php directement dans le <head> au lieu de l'intégrer par un include, comme déjà dit, le css s'affiche !
Mais un truc bizarre apparaît :
Au lieu d'afficher les résultats de calcul de la boucle php, qui prennent environ 70lignes, j'ai ceci à la place qui s'affiche :

Code : Tout sélectionner

'; $nombre_pourcentage = $nombre_pourcentage + 3; $nombre_annee++; } ?> 
Et ça, c'est bien pourtant dans la boucle php !!!!
C'est bizarre ça ! À noter que les polices dans le html ne passe pas correctement non plus...

Or, je précise que tout cela fonctionne, et fonctionnait avant la mise à niveau ! Toutes ces pages passent sans souci au W3C et sont opérationnelles !!!


Voilà voilà... :)
le W3C c'est bien mais ca ne fait que dire si ta sémantique est bonne ou non, ca ne veux pas dire que ton script fonctionne et attention W3C n'a rien a voir avec le PHP, c'est un validateur HTML/CSS
ça m'inquiète , tu t'embrouilles toi même j'ai l'impression...
un coup tu nous parles d'include, après c'est les CSS et pour finir tu nous dis appeler un fichier style.php dans le <head>, un moment tu nous parles de bornes <php>...

si ça fonctionnaient avant la maj, si tu avais juste supprimé les paquets de la version php7 , je mettrais ma main au feu que ton script fonctionne avec php8.

Aujourd'hui on ne peux ici pas faire mieux pour toi... surtout si tu ne souhaites pas nous laisser étudier tes scripts... tu sais en programmation tu ne réinvente pas la roue, on ne volera ni ton code ni ta façon de faire, surtout car comme tu le dis toi même tu débutes...
Au pire on pourrait critiquer (et toutes critiques sont bonnes a prendre pour évoluer) au mieux on trouve le problème et te le corrige.

moi du peux que tu nous laisses voir :

Code : Tout sélectionner

'; $nombre_pourcentage = $nombre_pourcentage + 3; $nombre_annee++; } ?> 
bha on ne peut franchement rien dire avec ça... comment est appelée ta fonction, comment sort tu de ta boucle, c'est une wile ou for? ça on le devine pas et un point virgule est tellement vite oublié que si tu caches jalousement ton script tu sera le seul a être em*****dé au bout du compte...

Perso j'ai donné tout les élément possible.

Pour résumé.
1- Si tu double clic sur ton fichier pour l'ouvrir , certe il s'ouvre mais ne passe pas par Apache et donc le php n'est pas interprété (forcément les includes marchent pas , mais les scripts non plus)
2- après installation propre sans aller modifier je ne sais quel fichier dans les répertoire /etc, déja en premier lieux pose un fichier info.php dans le répertoire /www/html et ouvre le dans ton navigateur en tapant dans l'url http://localhost/info.php ou htpp://127.0.0.1/info.php.
3- Si des infos php s'affichent alors: Apache est configuré et PHP est actif et fonctionne.
Dans ce cas l'erreur viens uniquement de ton script.

Je rappel apache ne fait que donner les fichiers html/CSS au navigateur qui les interprètes! donc si sa s'affiche mal c'est la source (donc le code le problème)
Le php est interprété par Apache qui renvois le résultat de tout le script php sous forme de html au navigateur qui l'interprète. si php fonctionne (que la page info.php te renvoi qqc), et pas tes scripts, 90% du temps c'est ton script le problème pas le serveur ni php...
PC: Acer Aspire X1301
CM: Packard Bell imedia S3210
CG: Nvidia GT218 (GeForce 310)
CPU: AMD athlon II x2 dual core
RAM: 4Go
OS: Linux Mint 21 Xfce 4.16.0 5.15.0-56-generic x86_64
Image
Verrouillé