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
utilisateurs:krodelabestiole:brouillon:php [Le 13/04/2018, 15:19]
krodelabestiole [Installation minimale]
— (Version actuelle)
Ligne 1: Ligne 1:
-{{tag>​Xenial php serveur}} 
  
-====== PHP ====== 
-PHP (acronyme récursif pour "​**P**HP:​ **H**ypertext **P**reprocessor",​ PHP étant au départ l'​acronyme de **P**ersonal **H**ome **P**age) est un langage de programmation principalement utilisé pour produire des pages web de manière dynamique. Il est donc, dans la très grande majorité des cas, couplé à un serveur HTTP (comme [[:​apache2|Apache]]) pour la communication avec le client web. 
- 
-La production de [[:​cms|pages web dynamiques]] pouvant nécessiter une interaction avec une base de données, PHP est souvent utilisé en association avec un système de gestion de base de données (SGBD) comme [[:MySQL]]. 
- 
-===== Installation ===== 
-==== Installation minimale ==== 
- 
-Pour installer la dernière version de PHP disponible sur votre système, [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt>​php]]**.\\ ​ 
- 
-<note important>​Via les dépendances,​ l'​installation de ce paquet entraînera l'​installation du serveur HTTP [[:​apache2|Apache 2]]. Si vous souhaitez utiliser PHP avec un autre serveur HTTP tel que [[:Nginx]] ou [[:​Lighttpd]],​ [[:​tutoriel:​comment_installer_un_paquet|installez plutôt le paquet]] **[[apt>​php-fpm]]** 
- 
-Pour installer PHP avec [[#​apache2|Apache]] et [[:MySQL]] (ou [[:​MariaDB]]),​ reportez-vous à la [[:​lamp#​installation|documentation pour l'​installation de LAMP]]</​note>​ 
-Attention à partir d'​[[xenial|ubuntu 16.04]], xml est fourni avec un paquet à part de php, il faut installer **[[apt>​php-xml]]**. 
-Voir ce [[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=21560087#​p21560087|post]]. 
- 
-<​note>​À partir d'​Ubuntu 16.04, PHP 5 n'est plus disponible dans les dépôts. 
- 
-Pour l'​installer vous pouvez suivre ces [[https://​askubuntu.com/​questions/​756181/​installing-php-5-6-on-xenial-16-04|instructions]] ou [[http://​drup.org/​install-php-56-ubuntu-1604|celles-ci]].\\ ​ 
-Une autre méthode, plus propre et plus sûre consiste à installer PHP 5 dans un container au moyen de [[:​Docker]]. Voici [[:​docker_lamp|un tutoriel]] à ce sujet.</​note>​ 
- 
-==== Installation en module d'​Apache ==== 
- 
- 
-==== Installation en FastCGI ==== 
-==== Association avec un serveur de base de données ==== 
-PHP permet de se connecter à différents types de serveurs de base de données. Il est cependant nécessaire d'​installer des modules complémentaires. 
-<note important>​Il est important de souligner que l'​installation d'un de ces modules PHP est indépendant de l'​installation du serveur de base de données correspondant.</​note>​ 
- 
- 
-=== Support de MySQL et MariaDB === 
-Le support de [[:​mysql|MySQL]] ou [[mariadb|MariaDB]] par PHP se fait via [[:​tutoriel:​comment_installer_un_paquet|l'​installation du paquet]] [[apt://​php-mysql|php-mysql]]. 
- 
-<note tip>Un serveur associant **L**inux, **A**pache, **M**ySQL et **P**HP est généralement appelé [[:​lamp|serveur "​LAMP"​]].</​note>​ 
- 
- 
-=== Support de PostgreSQL === 
-Le support de [[:​postgresql|PostgreSQL]] par PHP se fait via [[:​tutoriel:​comment_installer_un_paquet|l'​installation du paquet]] [[apt://​php-pgsql|php-pgsql]]. 
- 
-<note tip>Un serveur associant **L**inux, **A**pache, **P**ostgreSQL et **P**HP est généralement appelé serveur "​LAPP"​.</​note>​ 
- 
-=== Support de SQLite === 
-Le support de [[:​sqlite|SQLite]] par PHP se fait via [[:​tutoriel:​comment_installer_un_paquet|l'​installation du paquet]] [[apt://​php-sqlite|php-sqlite]]. 
- 
-=== Support de Sybase / MS SQL server === 
-Le support de Sybase / MS SQL server par PHP se fait via [[:​tutoriel:​comment_installer_un_paquet|l'​installation du paquet]] [[apt://​php-sybase|php-sybase]]. 
- 
-==== Installation des modules complémentaires ==== 
-Voir la page dédiée aux [[:​modules_php|modules PHP]]. 
- 
-===== Configuration ===== 
- 
-La configuration de PHP se fait via un fichier //​php.ini//​. 
- 
-Pour le [[apache2#​mod_php|module PHP d'​Apache]],​ le chemin d'​accès au fichier //php.ini// sera généralement : 
-  * sous Ubuntu 14.04 : **/​etc/​php5/​apache2/​php.ini**\\ 
-  * sous Ubuntu 16.04 : **/​etc/​php/​7.0/​apache2/​php.ini** 
- 
-Les fichiers de configuration ne sont pas les mêmes pour utiliser PHP en ligne de commande (//cli// pour //​command-line interface//​) : **/​etc/​php/​7.0/​cli/​php.ini**\\ 
-ou en script [[http://​php.net/​manual/​fr/​install.fpm.php|FastCGI]] (//fpm// pour //FastCGI Process Manager//) : **/​etc/​php/​7.0/​fpm/​php.ini**\\ 
- 
-Ceci explique parfois des différences de comportement entre PHP exécuté par Apache, et manuellement en ligne de commande. 
-==== Activer le rapport d'​erreur ===== 
- 
-Si vous développez une application en local, il est souvent utile de visualiser les messages d'​erreurs directement sur votre page web. Ces erreurs sont cependant généralement aussi accessibles dans le journal d'​erreur du serveur HTTP (//​[[apache2#​problemes_courants|/​var/​log/​apache2/​error.log]]//​ pour [[apache2|Apache]]). 
- 
-Pour afficher les erreurs, avec Apache vous pouvez par exemple définir des règles dans un fichier //​[[apache2#​.htaccess]]//​ à la racine de votre [[apache2#​hotes_virtuels|hôte virtuel]] : 
- 
-<file - .htaccess>​php_flag display_errors=on 
-php_flag error_reporting=E_ALL</​file>​ 
- 
-//​[[http://​php.net/​manual/​fr/​function.error-reporting.php|error_reporting]]//​ définit le niveau d'​erreur que vous souhaitez afficher. 
- 
-Le niveau d'​erreur E_ALL affiche **toutes** les erreurs, y compris celles concernant des fonctionnalités dépréciées (qui seront désactivées dans des versions futures de PHP) ou des erreurs strictes, qu'on n'a pas forcément envie de corriger.\\ 
-On peut désactiver l'​affichage de ces messages pas toujours très importants en remplaçant cette ligne par celle-ci : 
-<​file>​php_flag error_reporting=E_ALL & ~E_NOTICE & ~E_STRICT</​file>​ 
- 
- 
-Les directives //​display_errors//​ et //​error_reporting//​ sont aussi accessibles pour définir l'​affichage des erreurs globalement,​ directement dans votre fichier //​php.ini//​.\\ 
-Pour PHP 7.0 : 
-<file - /​etc/​php/​7.0/​apache2/​php.ini>​... 
-display_errors=on 
-error_reporting=E_ALL & ~E_NOTICE & ~E_STRICT 
-...</​file>​ 
- 
-==== Désactiver le rapport d'​erreur ===== 
- 
-Pour un site en production, mieux vaut désactiver l'​affichage des erreurs et se référer uniquement au log d'​erreur du serveur HTTP : 
-<file - .htaccess>​php_flag display_errors=off</​file>​ 
-===== Voir aussi ===== 
- 
-  * **(en)** [[http://​www.php.net/​|site officiel]] 
-  * [[http://​php.net/​manual/​fr/​|documentation officielle]] 
  • utilisateurs/krodelabestiole/brouillon/php.1523625567.txt.gz
  • Dernière modification: Le 13/04/2018, 15:19
  • par krodelabestiole