Résolu le 18-01-23 Comment vérifier si php est activé dans Apache2 ?

Postez ici toutes vos demandes d’assistance.
Verrouillé
Did
Messages : 224
Enregistré le : mar. 10 oct. 2017 18:44

Comment vérifier si php est activé dans Apache2 ?

Message par Did »

Bonjour,
Comment vérifier si php est activé dans Apache2 ?

J'ai du php 7.4 et du 8.1 sur mon pc. Ou j'ai eu.
Et peut-être de mauvaises manips aussi depuis... ?

Apache2, j'ai aussi.

Du peu que je sais, à priori, Apache2 tourne :
À cet URL http://localhost/html/index.html, j'ai bien le "It works!" qui s'affiche.

Ensuite, c'est là que ça se complique, c'est quand j'intègre ce code :

Code : Tout sélectionner

<?php
phpinfo();
echo 'Année ';
?>

blabla
à un fichier essai.php, que je n'obtiens en affichage à FF, que "blabla" et page blanche !!
Et quel que soit l'endroit où je place ce fichier, car en effet, j'ai indiqué un chemin à apache2, http://localhost/site_actif/essai.php et là, comme dans http://localhost/html/essai.php ou http://localhost/essai.php, ça ne marche pas mieux.

Qu'est ce que je peux faire comme commande pour vérifier que ces deux sont installés, propres et en relation (php piloté par apache2) SVP ?

Merci d'avance.

P.S. : je ne sais pas si on va arriver à trouver une réponse à mon souci... alors je vous en prie, dites-moi simplement si c'est trop compliqué à distance, et/ou après tout pas le sujet sur un forum Mint, et j'essayerai d'obtenir de l'aide en direct si je peux, à l'occase... Pas la peine qu'on se fatigue (ou que je vous fatigue) pour rien... :)
Desktop: Cinnamon Linux Mint 21.3
ThinkPad E560 64-bit
Bios: LENOVO v: R00ET44W (1.19 ) date: 05/12/2016
CPU: Dual core Intel Core i7-6500U CPU 2.50GHz
Memory RAM : 8GiB
Graphics: Card-1: Intel Sky Lake Integrated Graphics
Card-2: Advanced Micro Devices [AMD/ATI] Mars [Radeon HD 8670A/8670M/8750M]
Resolution: 1920x1080@60.01hz

Avatar du membre
cyrille
Administrateur du site
Messages : 13037
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: Comment vérifier si php est activé dans Apache2 ?

Message par cyrille »

Où se situe ton rep de pblication web ?
Ou as tu sauvegardé ton fichier ?
Comment l'as tu nommé ? QUels sont ses droirts ?

Code : Tout sélectionner

http://localhost/html/index.html
Il n'interprétera pas le php puis que le fichier a une extension en html....
Me semble que par défaut apache n'interprete le php que si extension en php. Essaie de mettre le meme code dans un fichier
test.php

Tiens un lien, jette un oeil pour modifie ton php.ini afin qu'il affiche les erreurs. Faudra sans doute redémarrer apache pour la prise en compte
https://buzut.net/configuration-dun-serveur-linux-php/
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Did
Messages : 224
Enregistré le : mar. 10 oct. 2017 18:44

Re: Comment vérifier si php est activé dans Apache2 ?

Message par Did »

cyrille a écrit :
sam. 14 janv. 2023 16:01
Où se situe ton rep de pblication web ?
Ou as tu sauvegardé ton fichier ?
Comment l'as tu nommé ? QUels sont ses droirts ?

Code : Tout sélectionner

http://localhost/html/index.html
Il n'interprétera pas le php puis que le fichier a une extension en html.
Me semble que par défaut apache n'interprete le php que si extension en php. Essaie de mettre le meme code dans un fichier
test.php

Tiens un lien, jette un oeil pour modifie ton php.ini afin qu'il affiche les erreurs. Faudra sans doute redémarrer apache pour la prise en compte
https://buzut.net/configuration-dun-serveur-linux-php/
Il n'interprétera pas le php puis que le fichier a une extension en html....
Le fichier que j'ai créé, essai.php, lui a une extension php. C'est Apache2 qui créé un dossier html dans lequel se trouve un fichier index.html, qui permet d'afficher le "It works !""
Et j'y ai placé aussi mon essai.php, pour tester le " phpinfo()" que vous m'indiquez.

Où se situe ton rep de pblication web ?
dans /var/www/site_actif/
Et j'ai indiqué ce chemin dans apache2, qui trouve sans problème le chemin, puisqu'il m'affiche les fichiers *.php qui s'y trouvent (sauf du code entre <?php ?> de ces fichiers donc). FF m'affiche aussi le fichier essai.php pour tester « phpinfo() », que j'ai donc copié dans 2-3 répertoires pour tester le chemin aussi. Bien sûr, je modifie dans FF le chemin pour faire afficher le fichier essai.php selon où il se trouve.
J'ai donc testé « phpinfo() » dans ces 2 dossiers :
var/www/site_actif/essai.php
var/www//html/essai.php
et je n'ai que page blanche.

Ou as tu sauvegardé ton fichier ?
Comment l'as tu nommé ? QUels sont ses droirts ?
Le fichier test est essai.php, je l'ai copié dans plusieurs dossiers, pour tester si justement, c'est un problème du chemin, or non, car le "blabla" s'affiche à chaque fois, ce qui prouve que mon chemin est bon.

Question "droits", je ne sais pas trop quoi te répondre, alors je t'écris ce que je fais : je rentre dans le dossier en superutilisateur, je modifie le fichier avec un éditeur de texte, et je peux donc enregistrer le fichier dans var/www/site_actif ou globalement var/www/ et sous-dossiers, car dans ce dossier il faut être en superutilisateur de toute façon (ça marchait avant la dernière mise à niveau à Mint 21).
Toutes ces pages fonctionnaient en local avant la mise à jour de Mint à 21, le chemin était bon, etc...

Merci pour le lien URL. Oui, j'ai déjà vu cette page ! Mais justement, à un moment j'avais même plusieurs fichiers php.ini dans divers dossiers, dans je ne sais plus lequel prendre... et surtout, j'ai jamais eu à faire autant de manip auparavant pour que ça marche... Et j'avais déjà testé d'arranger les choses avec un « apt install libapache2-mod-php » notamment...


(Quelle commande pourrait me garantir que php 7.4 ou php 8.1 sont bien installés ? Car je ne sais plus avec quelle commande, mais il y a quelques jours, j'avais l'impression que ce n'était pas clair : j'avais des réponses au terminal comme quoi php 8.1 est bien la dernière version, mais à d'autres moments, que php n'est pas installé... bizarre...)
Desktop: Cinnamon Linux Mint 21.3
ThinkPad E560 64-bit
Bios: LENOVO v: R00ET44W (1.19 ) date: 05/12/2016
CPU: Dual core Intel Core i7-6500U CPU 2.50GHz
Memory RAM : 8GiB
Graphics: Card-1: Intel Sky Lake Integrated Graphics
Card-2: Advanced Micro Devices [AMD/ATI] Mars [Radeon HD 8670A/8670M/8750M]
Resolution: 1920x1080@60.01hz

Avatar du membre
cyrille
Administrateur du site
Messages : 13037
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: Comment vérifier si php est activé dans Apache2 ?

Message par cyrille »

Tu peux copier la conf du repertoire virtuel d'apache ? (c'est dans /etc/apache2/sites-available/ )

Que retourne

Code : Tout sélectionner

ls -l /var/www/site_actif/
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Avatar du membre
cyrille
Administrateur du site
Messages : 13037
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: Comment vérifier si php est activé dans Apache2 ?

Message par cyrille »

Si ton rep de pub est défini comme

Code : Tout sélectionner

 /var/www/site_actif/
Les fichiers doivent tous être dans ce dossier (et sous dossier), mais c'est le repertoire de base. Evite de remonter 'arborescence dans un premier temps
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Did
Messages : 224
Enregistré le : mar. 10 oct. 2017 18:44

Re: Comment vérifier si php est activé dans Apache2 ?

Message par Did »

cyrille a écrit :
sam. 14 janv. 2023 17:29
Si ton rep de pub est défini comme

Code : Tout sélectionner

 /var/www/site_actif/
Les fichiers doivent tous être dans ce dossier (et sous dossier), mais c'est le repertoire de base. Evite de remonter 'arborescence dans un premier temps
oui, oui, tout est dans ce dossier. Je le répète encore : tout cela fonctionnait avant la mise à niveau de Mint.

Exemple avec 2 fichiers :

Code : Tout sélectionner

ls -l /var/www/site_actif/
total 1432
-rwxr-xr-x 1 root     root         30 janv.  8 09:58  essai1.php
-rwxr-xr-x 1 www-data www-data     44 janv.  6 21:53  essai.php
-rw
Dans ce dossier, il y a aussi tout le reste, des fichiers *.inc.php, le fichier style.css etc etc. Tout cela fonctionne.

Et pour php.ini, j'en ai dans plusieurs dossiers :
Voir cette image (lien valable 30 jours) : https://wtf.roflcopter.fr/pics/FCKVSVeC/IawQKHb9.png
Image

Donc quel php.ini compte là ? C'est normal d'en voir 5 ???

Et sinon ... Quelle commande, à écrire au Terminal, pourrait me garantir que php 7.4 ou php 8.1 sont bien installés/activées ? (Et le fait de voir php.ini dans des dossiers n'empêchent pas que ça puisse ne pas être activé)
Desktop: Cinnamon Linux Mint 21.3
ThinkPad E560 64-bit
Bios: LENOVO v: R00ET44W (1.19 ) date: 05/12/2016
CPU: Dual core Intel Core i7-6500U CPU 2.50GHz
Memory RAM : 8GiB
Graphics: Card-1: Intel Sky Lake Integrated Graphics
Card-2: Advanced Micro Devices [AMD/ATI] Mars [Radeon HD 8670A/8670M/8750M]
Resolution: 1920x1080@60.01hz

Did
Messages : 224
Enregistré le : mar. 10 oct. 2017 18:44

Re: Comment vérifier si php est activé dans Apache2 ?

Message par Did »

(2 messages se suivent)
Et :
Tu peux copier la conf du repertoire virtuel d'apache ? (c'est dans /etc/apache2/sites-available/ )
C'est ce fichier que tu me demandes ? 000-default.conf ?
Voici

Code : Tout sélectionner

<VirtualHost *:80>
	# The ServerName directive sets the request scheme, hostname and port that
	# the server uses to identify itself. This is used when creating
	# redirection URLs. In the context of virtual hosts, the ServerName
	# specifies what hostname must appear in the request's Host: header to
	# match this virtual host. For the default virtual host (this file) this
	# value is not decisive as it is used as a last resort host regardless.
	# However, you must set it for any further virtual host explicitly.
	#ServerName www.example.com

	ServerAdmin webmaster@localhost
	DocumentRoot /var/www

	# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
	# error, crit, alert, emerg.
	# It is also possible to configure the loglevel for particular
	# modules, e.g.
	#LogLevel info ssl:warn

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined

	# For most configuration files from conf-available/, which are
	# enabled or disabled at a global level, it is possible to
	# include a line for only one particular virtual host. For example the
	# following line enables the CGI configuration for this host only
	# after it has been globally disabled with "a2disconf".
	#Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# Setup "MON_SITE" Virtual Host
<VirtualHost *:80>
    ServerName MON_SITE
    DocumentRoot /var/www/site_actif

    <Directory /var/www/site_actif>
        Options Indexes FollowSymLinks Includes
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>



# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Voilà.
Desktop: Cinnamon Linux Mint 21.3
ThinkPad E560 64-bit
Bios: LENOVO v: R00ET44W (1.19 ) date: 05/12/2016
CPU: Dual core Intel Core i7-6500U CPU 2.50GHz
Memory RAM : 8GiB
Graphics: Card-1: Intel Sky Lake Integrated Graphics
Card-2: Advanced Micro Devices [AMD/ATI] Mars [Radeon HD 8670A/8670M/8750M]
Resolution: 1920x1080@60.01hz

Avatar du membre
cyrille
Administrateur du site
Messages : 13037
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: Comment vérifier si php est activé dans Apache2 ?

Message par cyrille »

Tu ne peux pas mettre un virtual host dans le fichier 000-default.conf -c'est pas la façon de procéder - !
Les virtual host s'installent dans des fichiers en parallèle

COmmence par le virer et reprend qu'avec le répertoire par default et vois sis déjà ça marche avant de compliquer


Car là tu mélanges beucoup de chose et ça ne le fera pas


pour connaitre ta version de php


Code : Tout sélectionner

php --version
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Did
Messages : 224
Enregistré le : mar. 10 oct. 2017 18:44

Re: Comment vérifier si php est activé dans Apache2 ?

Message par Did »

cyrille a écrit :
sam. 14 janv. 2023 19:21
Tu ne peux pas mettre un virtual host dans le fichier 000-default.conf -c'est pas la façon de procéder - !
Les virtual host s'installent dans des fichiers en parallèle
COmmence par le virer et reprend qu'avec le répertoire par default et vois sis déjà ça marche avant de compliquer
Car là tu mélanges beucoup de chose et ça ne le fera pas
J'ai essayé. Puis fait un reload restart de apache2, ça ne change rien. Tu sais, ça fonctionnait avant avec ça.. alors je ne vois pas trop pourquoi ça devrait poser souci d'un coup...
Ensuite, il y a aussi un fichier MON_SITE.conf dans le même dossier, en effet. Et bien sûr, les pages html/php continuent d'être affichées dans FF, mais simplement sans ce qui est appelé par du php (sans les include donc).
pour connaitre ta version de php

Code : Tout sélectionner

php --version
Voici le retour :

Code : Tout sélectionner

php --version
PHP 8.1.2-1ubuntu2.9 (cli) (built: Oct 19 2022 14:58:09) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2-1ubuntu2.9, Copyright (c), by Zend Technologies
Du coup, la dernière version 8.1, ok.. apparemment dossier ../cli ...
Comment peut-on être sûr que Apache2 se dirige effectivement vers ce dossier, ce fichier, et pas un autre dans la série de php citée plus haut ??
Desktop: Cinnamon Linux Mint 21.3
ThinkPad E560 64-bit
Bios: LENOVO v: R00ET44W (1.19 ) date: 05/12/2016
CPU: Dual core Intel Core i7-6500U CPU 2.50GHz
Memory RAM : 8GiB
Graphics: Card-1: Intel Sky Lake Integrated Graphics
Card-2: Advanced Micro Devices [AMD/ATI] Mars [Radeon HD 8670A/8670M/8750M]
Resolution: 1920x1080@60.01hz

Avatar du membre
cyrille
Administrateur du site
Messages : 13037
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: Comment vérifier si php est activé dans Apache2 ?

Message par cyrille »

Yep , tu peux donner le retour de

Code : Tout sélectionner

ls /etc/apache2/mods-enabled/*

Code : Tout sélectionner

 ls /etc/apache2/mods-available/
Et

Code : Tout sélectionner

apache2ctl -M

Après j'avoue que mon nombre d'idées s'épuise ;)
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Verrouillé