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 13/07/2018, 09:00]
krodelabestiole déplacement [Conflits potentiels entre plusieurs versions de PHP] depuis page LAMP
php [Le 06/09/2018, 10:28]
bcag2 [Installation] installation php récent
Ligne 8: Ligne 8:
  
 ===== Installation ===== ===== Installation =====
 +==== Installation standard =====
 <note tip>Pour installer PHP avec Apache et MySQL ou MariaDB, reportez-vous de préférence à la [[:​LAMP|page LAMP]].</​note>​ <note tip>Pour installer PHP avec Apache et MySQL ou MariaDB, reportez-vous de préférence à la [[:​LAMP|page LAMP]].</​note>​
  
Ligne 35: Ligne 35:
  
 PHP est alors installé. Cependant la plupart des scripts PHP ([[:CMS]], forums, applications web en tout genre) utilisent des modules de PHP pour bénéficier de certaines fonctionnalités. PHP est alors installé. Cependant la plupart des scripts PHP ([[:CMS]], forums, applications web en tout genre) utilisent des modules de PHP pour bénéficier de certaines fonctionnalités.
 +
 +==== Installer une version PHP plus récente ====
 +La version des dépôts officiels peut être insuffisante pour vos développements.
 +<​note>​Exemple:​ sous Xenial la version php officielle est la 7.0. Or si vous souhaitez travailler avec Symfony4, il vous faut PHP 7.2</​note>​
 +Une solution peut-être l'​utilisation de [[:​docker]].\\
 +L'​autre solution est d'​installer une version php récente, par exemple via le dépôt proposé par Ondřej Surý.
 +<​code>​
 +# vérification de la version actuelle:
 +$ php -v
 +PHP 7.0.30-0ubuntu0.16.04.1 (cli) ( NTS )
 +
 +# ajout du dépôt, puis installation de php et de ses modules
 +sudo add-apt-repository ppa:​ondrej/​php
 +sudo apt update
 +sudo apt install php7.2-cli php7.2-dev php7.2-fpm php7.2-curl php7.2-gd php7.2-mysql php7.2-mbstring php-gettext php7.2-zip php7.2-xmlrpc php7.2-xml php7.2-intl php7.2-bz2 php7.2-json php7.2-pspell php7.2-tidy php-pear php-redis mcrypt
 +
 +# vérification de la version installée:
 +$ php -v
 +PHP 7.2.9-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Aug 19 2018 07:16:12) ( NTS )
 +</​code>​
 +Référence:​ ((https://​www.danhendricks.com/​2018/​04/​ubuntu-xenial-latest-php-fpm-nginx-mariadb-mysql/#​article_section_header_install_php))
  
 ===== Modules ===== ===== Modules =====
Ligne 155: Ligne 176:
  
 ===== 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 178: Ligne 203:
 Puis relancez Apache : Puis relancez Apache :
 <​code>​sudo systemctl restart apache2</​code>​ <​code>​sudo systemctl restart apache2</​code>​
- 
-==== Erreur 403, 404, 500 ==== 
- 
-Les erreurs de ce type ne sont a priori pas liées directement à PHP, mais au serveur HTTP. Si vous utilisez Apache consultez [[:​apache2#​problemes_courants|la documentation à ce sujet]]. 
- 
-==== Attente puis erreur 503 "​service indisponible"​ ==== 
- 
-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. 
  
 ==== Conflits potentiels entre plusieurs versions de PHP ==== ==== Conflits potentiels entre plusieurs versions de PHP ====
Ligne 195: Ligne 210:
  
 Vous pouvez vérifier cela avec cette commande : Vous pouvez vérifier cela avec cette commande :
-<​code>​apt list php\* | grep install</​code>​ +<​code>​apt list \*php\* | grep install</​code>​ 
-Si vous voyez apparaître plusieurs versions de PHP, par ex. //php7.0////php7.2// 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]]) puis réinstallez les paquets absents si nécessaire ([[apt>​libapache2-mod-php]],​ etc).+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).
  
 ===== Voir aussi ===== ===== Voir aussi =====
  • php.txt
  • Dernière modification: Le 01/04/2024, 12:06
  • par bcag2