Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
php [Le 07/06/2018, 20:13]
krodelabestiole [Modules courants] mcrypt php 7.2 + bionic
php [Le 28/09/2018, 18:20]
176.134.15.46 [Code source visible dans le navigateur]
Ligne 155: Ligne 155:
  
 ===== Problèmes courants ===== ===== Problèmes courants =====
 +
 +<note tip>
 +Si vous utilisez Apache, consultez également les [[:​apache2#​problemes_courants|problèmes courants liés à ce serveur HTTP]] afin d'​obtenir des solutions pour les erreurs 403, 404, 500, 503, etc.
 +</​note>​
  
 ==== Page blanche ==== ==== Page blanche ====
Ligne 162: Ligne 166:
 Vous pouvez [[#​activer_le_rapport_d_erreur|activer le rapport d'​erreur]],​ ou consulter le log d'​erreur de votre serveur HTTP pour en savoir plus sur le problème rencontré. Vous pouvez [[#​activer_le_rapport_d_erreur|activer le rapport d'​erreur]],​ ou consulter le log d'​erreur de votre serveur HTTP pour en savoir plus sur le problème rencontré.
  
-==== Erreur 403404500 ====+==== Code source visible dans le navigateur ==== 
 + 
 +Ce problème survient lorsque PHP n'est pas interprété par le serveur web. Le serveur envoie dans ce cas au navigateur directement le code PHP comme s'il s'​agissait de texteet le navigateur cherche généralement à l'​interpréter comme du HTMLpuisque c'est ce qu'il attend par défaut.\\  
 +En plus de rendre l'​application ou le site non fonctionnel,​ cela peut poser des problèmes de sécurité (fuite d'​informations éventuellement sensibles). 
 + 
 +Il faut dans ce cas revoir votre installation de PHP et sa configuration avec votre serveur Web. 
 + 
 +Si vous utilisez [[:​apache2#​mod_php|PHP en tant que module d'​Apache]] : 
 +  * vérifiez l'​installation du paquet [[apt>​libapache2-mod-php]] 
 +  * s'il est bien installé, activez le module : 
 +sur [[:​bionic|Bionic 18.04]] : 
 +<​code>​sudo a2enmod php7.2</​code>​ 
 +sur [[:​xenial|Xenial 16.04]] : 
 +<​code>​sudo a2enmod php7.0</​code>​ 
 +Puis relancez Apache : 
 +<​code>​sudo systemctl restart apache2</​code>​ 
 + 
 +Attention, les scripts php situés dans l'​espace utilisateur sont désactivés par défaut. Si vous souhaitez exécuter des scripts php situés dans l'​espace utilisateur,​ éditez le ficher : 
 + 
 +<​code>​sudo gedit php7.2.conf</​code>​ 
 + 
 +et commentez les lignes : 
 +<​code>#<​IfModule mod_userdir.c>​ 
 +#    <​Directory /​home/​*/​public_html>​ 
 +#        php_admin_flag engine Off 
 +#    </​Directory>​ 
 +#</​IfMModule></​code>​ 
 + 
 +Puis relancez Apache : 
 +<​code>​sudo systemctl restart apache2</​code>​ 
 +==== Conflits potentiels entre plusieurs versions de PHP ====
  
-Les erreurs ​de ce type ne sont a priori pas liées directement à PHP, mais au serveur HTTPSi vous utilisez Apache consultez ​[[:apache2#​problemes_courants|la documentation à ce sujet]].+Il est possible que plusieurs versions ​de PHP soient installées simultanémentpar exaprès une mise à jour majeure d'​ubuntu si vous avez spécifié le numéro de version de PHP lors de l'​installation des paquets, ou si vous avez ajouté un PPA exotique pour installer une version spécifique de PHP (mauvaise idée, il vaut mieux dans ce cas utiliser ​[[:docker_lamp|docker]]).\\ 
 +Cela peut par ex. rendre des modules de PHP inaccessibles alors qu'ils semblent bien installés.
  
-==== Attente ​puis erreur 503 "​service indisponible"​ ====+Vous pouvez vérifier cela avec cette commande : 
 +<​code>​apt list \*php\* | grep install</​code>​ 
 +Si vous voyez apparaître plusieurs versions de PHP, par ex. //php7.2// et //php7.0// ou //php5.6//, vous avez un problème. Dans ce cas supprimez les versions de PHP qui ne correspondent pas à la version proposée par les dépôts officiels d'​ubuntu (//php7.0// sur [[:​xenial|Xenial 16.04]], //php7.2// sur [[:​bionic|Bionic 18.04]]), [[:​ppa#​la_methode_propre_les_paquets_de_gestion_automatiqueppa-purge_launchpad-getkeys|désinstallez le PPA exotique]] si il existe, ​puis réinstallez les paquets absents si nécessaire sans spécifier de numéro de version ([[apt>​libapache2-mod-php]],​ etc).
  
-Cette erreur indique que le serveur HTTP est dans les choux. Le service existe mais prend  apparemment un temps interminable à répondre.\\ 
-  * En premier lieu redémarrez le serveur HTTP (et PHP si vous l'​utilisez en FastCGI). 
-  * Si le problème se pose toujours, cela peut par exemple être dû au fait qu'un script entre dans une boucle infinie. En plus de surcharger le processeur, ce problème ne générera pas de message d'​erreur ce qui en fait malheureusement un problème particulièrement compliqué à débugger. Si votre CMS ou application web utilise un système de cache, vous pouvez essayer de le vider et de le désactiver. Puis essayer de désinstaller les plugins installés récemment, défaire les modifications récentes ou restaurer une sauvegarde de votre application PHP. 
 ===== Voir aussi ===== ===== Voir aussi =====
  
  • php.txt
  • Dernière modification: Le 01/04/2024, 12:06
  • par bcag2