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 08/05/2013, 16:31]
109.28.132.11 [Installation]
php [Le 27/04/2017, 17:44]
L'Africain ajout de l'installation de php5 sous ubuntu 16.04
Ligne 1: Ligne 1:
-{{tag>​php serveur ​brouillon}}+{{tag>​php serveur ​BROUILLON}}
  
 ====== PHP ====== ====== PHP ======
-PHP (acronyme récursif pour "​**P**HP:​ **H**ypertext **P**reprocessor"​) est un langage de script 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.+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 script 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 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|MySQL]]. La production de 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|MySQL]].
Ligne 8: Ligne 8:
  
 ===== Installation ===== ===== Installation =====
-PHP étant principalement utilisé comme langage de script serveurseule son installation ​dans ce cadre là est présentée ici.+==== Installation minimale ==== 
 +Via les dépendancesl'installation ​de ce paquet entraînera l'​installation du serveur HTTP [[:​apache2|Apache 2]].\\
  
- béta installation ​php 5.4.4+Pour installer la version 5 de PHP, il suffit d'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] [[apt>​php5]]. À partir d'​Ubuntu 16.04 suivez ces [[https://​askubuntu.com/​questions/​756181/​installing-php-5-6-on-xenial-16-04|instructions]] car le paquet n'est plus dans les dépôts ​ ou encore [[http://​drup.org/​install-php-56-ubuntu-1604|ici]]. 
 +Pour installer la dernière version, PHP7: **[[apt>​php]]**
  
-installer les depots officiel multiverse et backport ainsi que leur sources+<​note>​ 
 +[[:​apache2|Apache 2]] est fourni par défaut avec PHP. 
 +Vous pouvez également, si vous le souhaitez, utiliser un autre serveur HTTP (ex.  [[:nginx]], [[:​lighttpd]],​ etc...).\\ 
 +</​note>​ 
 +Le chemin d'​accès au fichier **php.ini** est généralement (vérifié sous Ubuntu 14.04 Server) : **/​etc/​php5/​apache2/​php.ini**\\ 
 +Le chemin d'​accès au fichier **php.ini** est depuis PHP7 (vérifié sous Ubuntu 16.04 Server) : **/​etc/​php/​7.0/​apache2/​php.ini**\\
  
-ex ubuntu 12.04 
  
-<​code>​sudo su 
- 
-cat > /​etc/​apt/​sources.list <<EOF 
-deb http://​fr.archive.ubuntu.com/​ubuntu/​ precise main restricted 
-deb http://​security.ubuntu.com/​ubuntu precise-security main restricted 
-deb http://​fr.archive.ubuntu.com/​ubuntu/​ precise-updates main restricted 
- 
-# Dépôts de sources (uniquement utiles pour télécharger les sources avec apt-get source. Dans ce cas, enlever les #) 
-deb-src http://​fr.archive.ubuntu.com/​ubuntu/​ precise main restricted 
-deb-src http://​security.ubuntu.com/​ubuntu precise-security main restricted 
-deb-src http://​fr.archive.ubuntu.com/​ubuntu/​ precise-updates main restricted 
- 
-deb http://​fr.archive.ubuntu.com/​ubuntu/​ precise universe multiverse 
-deb http://​security.ubuntu.com/​ubuntu precise-security universe multiverse 
-deb http://​fr.archive.ubuntu.com/​ubuntu/​ precise-updates universe multiverse 
- 
-# Dépôts de sources (uniquement utiles pour télécharger les sources avec apt-get source. Dans ce cas, enlever les #) 
-deb-src http://​fr.archive.ubuntu.com/​ubuntu/​ precise universe multiverse 
-deb-src http://​security.ubuntu.com/​ubuntu precise-security universe multiverse 
-deb-src http://​fr.archive.ubuntu.com/​ubuntu/​ precise-updates universe multiverse 
-deb http://​fr.archive.ubuntu.com/​ubuntu/​ precise-backports main restricted universe multiverse 
- 
-# Dépôts de sources (uniquement utiles pour télécharger les sources avec apt-get source. Dans ce cas, enlever les #) 
-deb-src http://​fr.archive.ubuntu.com/​ubuntu/​ precise-backports main restricted universe multiverse 
-EOF 
-exit</​code>​ 
-<​code>​sudo apt-get update</​code>​ 
-<​code>​sudo apt-get -y upgrade</​code>​ 
-<​code>​sudo apt-get -y install git vim libmcrypt-dev</​code>​ 
-<​code>​sudo apt-get -y build-dep php5 php5-mcrypt</​code>​ 
- 
- 
-compiller manuellement 
- 
-<​code>​cd /​usr/​local/​src/</​code>​ 
-<​code>​git clone --branch PHP-5.4 https://​github.com/​php/​php-src.git php-5.4.4</​code>​ 
-<​code>​cd /​usr/​local/​src/​php-5.4.4/​ext/</​code>​ 
-<​code>​sudo wget http://​pecl.php.net/​get/​APC-3.1.13.tgz</​code>​ 
-<​code>​sudo tar -xvf APC-3.1.13.tgz</​code>​ 
-<​code>​sudo mv APC-3.1.13 apc</​code>​ 
-<​code>​cd /​usr/​local/​src/​php-5.4.4/</​code>​ 
-<​code>​sudo rm -rf configure</​code>​ 
-<​code>​sudo ./buildconf --force</​code>​ 
-<​code>​./​configure --enable-bcmath \ 
-  --enable-calendar \ 
-  --enable-dba \ 
-  --enable-exif \ 
-  --enable-ftp \ 
-  --enable-mbstring \ 
-  --enable-shmop \ 
-  --enable-sigchild \ 
-  --enable-soap \ 
-  --enable-sockets \ 
---enable-sysvmsg \ 
-  --enable-wddx \ 
-  --enable-zip \ 
-  --with-apxs2=/​usr/​local/​apache2/​bin/​apxs \ 
-  --with-bz2 \ 
-  --with-config-file-path=/​usr/​local/​apache2/​conf \ 
-  --with-curl \ 
-  --with-gd \ 
-  --with-gettext \ 
-  --with-mcrypt \ 
-  --with-mysql \ 
-  --with-mysqli \ 
-  --with-openssl \ 
-  --with-pdo-mysql \ 
-  --with-pdo-pgsql \ 
-  --with-pgsql \ 
-  --with-xmlrpc \ 
-  --with-zlib 
- 
-</​code>​ 
-<​code>​sudo make</​code>​ 
-<​code>​sudo apt-get -y install checkinstall</​code>​ 
-<​code>​sudo checkinstall --pkgname=php5-4 --pkgversion="​5.4.4"​ --backup=no --deldoc=yes --fstrans=no --default</​code>​ 
- 
- 
-installer avec le pacquet deb ubuntu 12.04 amd64 (64 bit) seulement 
- 
- 
- 
- 
-<​code>​wget http://​www.petit-fichier.fr/​2013/​05/​08/​php5-4-5-4-4-1-amd64/​php5-4-5-4-4-1-amd64.deb</​code>​ 
-<​code>​sudo dpkg -i php5-4-5-4-4-1-amd64.deb</​code>​ 
- 
- 
-configurer 
- 
-<​code>​sudo su 
-cp /​usr/​local/​src/​php-5.4.4/​php.ini-development /​usr/​local/​apache2/​conf/​php.ini 
-sed -i '​s/​^;​\(date\.timezone\) =\s*$/\1 = "​Europe\/​Paris"/​g'​ /​usr/​local/​apache2/​conf/​php.ini 
-sed -i '​s/​^\(memory_limit\) = .*$/\1 = 256M/​g'​ /​usr/​local/​apache2/​conf/​php.ini 
-sed -i '​s/​^\(post_max_size\) = .*$/\1 = 32M/g' /​usr/​local/​apache2/​conf/​php.ini 
-sed -i '​s/​^\(upload_max_filesize\) = .*$/\1 = 32M/g' /​usr/​local/​apache2/​conf/​php.ini 
-sed -i '​s/​^\(max_execution_time\) = .*$/\1 = 3600/​g'​ /​usr/​local/​apache2/​conf/​php.ini 
-sed -i '​s/​^\(max_input_time\) = .*$/\1 = 7200/​g'​ /​usr/​local/​apache2/​conf/​php.ini 
-cat > /​usr/​local/​apache2/​conf/​extra/​httpd-php5.conf <<EOF 
-# 
-# This next section will call PHP for .php, .phtml, and .phps files 
-# 
-AddType application/​x-httpd-php .php 
-AddType application/​x-httpd-php .phtml 
-AddType application/​x-httpd-php-source .phps 
- 
-# 
-# This is the directory containing php.ini 
-# 
-PHPIniDir "/​usr/​local/​apache2/​conf"​ 
-EOF 
-echo Include conf/​extra/​httpd-php5.conf >> /​usr/​local/​apache2/​conf/​httpd.conf 
- 
-echo LoadModule php5_module modules/​libphp5.so >> /​usr/​local/​apache2/​conf/​httpd.conf 
-sed -i '​s/​DirectoryIndex index.html/​DirectoryIndex index.html index.cgi index.pl index.php index.xhtml/​g'​ /​usr/​local/​apache2/​conf/​httpd.conf 
-rm -f /​var/​www/​index.html 
-cat > /​var/​www/​index.php <<EOF 
-<?php phpinfo(); ?> 
-EOF 
-/​etc/​init.d/​apache2 restart 
-exit 
-</​code>​ 
- 
-attention la désinstallation de php 5.4 et imposible 
-==== Installation minimale ==== 
-Pour installer la version 5 de PHP (dernière version stable), il suffit d'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] suivant:\\ 
-[[apt://​php5|php5]]\\ 
-Via les dépendances,​ l'​installation de ce paquet entraînera l'​installation du serveur HTTP [[:​apache2|Apache 2]]. 
- 
-<​note>​ 
-[[:​apache2|Apache 2]] est fournit par défaut avec PHP. 
-Vous pouvez également, si vous le souhaitez, utiliser un autre serveur HTTP (ex.  [[:nginx]], [[:​lighttpd]],​ etc... ).\\ 
-PHP 5.4 incorpore son propre serveur HTTP utilisable dans un environnement de développement. ​ 
-</​note>​ 
 ==== Association avec un serveur de base de données ==== ==== 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. 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.
Ligne 154: Ligne 27:
  
  
-=== Support de MySQL === +=== Support de MySQL et MariaDB ​=== 
-Le support de [[:​mysql|MySQL]] par PHP se fait via [[:​tutoriel:​comment_installer_un_paquet|l'​installation du paquet]]:​\\ +Le support de [[:​mysql|MySQL]] ou [[mariadb|MariaDB]] par PHP se fait via [[:​tutoriel:​comment_installer_un_paquet|l'​installation du paquet]]:​\\ 
-[[apt://​php5-mysql|php5-mysql]]+pour PHP5 [[apt://​php5-mysql|php5-mysql]]\\ 
 +pour PHP7 [[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>​ <note tip>Un serveur associant **L**inux, **A**pache, **M**ySQL et **P**HP est généralement appelé [[:​lamp|serveur "​LAMP"​]].</​note>​
Ligne 162: Ligne 36:
  
 === Support de PostgreSQL === === Support de PostgreSQL ===
-Le support de [[:​postgresql|PostgreSQL]] par PHP se fait via [[:​tutoriel:​comment_installer_un_paquet|l'​installation du paquet]]:​\\ +Le support de [[:​postgresql|PostgreSQL]] par PHP se fait via [[:​tutoriel:​comment_installer_un_paquet|l'​installation du paquet]]:​\\ 
-[[apt://​php5-pgsql|php5-pgsql]]+pour PHP5 [[apt://​php5-pgsql|php5-pgsql]]\\ 
 +pour PHP7 [[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>​ <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 === === Support de SQLite ===
-Le support de [[:​sqlite|SQLite]] par PHP se fait via [[:​tutoriel:​comment_installer_un_paquet|l'​installation du paquet]]:​\\ +Le support de [[:​sqlite|SQLite]] par PHP se fait via [[:​tutoriel:​comment_installer_un_paquet|l'​installation du paquet]]:​\\ 
-[[apt://​php5-sqlite|php5-sqlite]] +pour PHP5 [[apt://​php5-sqlite|php5-sqlite]]\\ 
 +pour PHP7 [[apt://​php-sqlite|php-sqlite]]
  
 === Support de Sybase / MS SQL server === === 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]]:​\\ +Le support de Sybase / MS SQL server par PHP se fait via [[:​tutoriel:​comment_installer_un_paquet|l'​installation du paquet]]:​\\ 
-[[apt://​php5-sybase|php5-sybase]]+pour PHP5 [[apt://​php5-sybase|php5-sybase]]\\ 
 +pour PHP7 [[apt://​php-sybase|php-sybase]]
  
 ==== Installation des modules complémentaires ==== ==== Installation des modules complémentaires ====
 Voir la page dédiée aux [[:​modules_php|modules PHP]]. FIXME Voir la page dédiée aux [[:​modules_php|modules PHP]]. FIXME
 +
 +===== Configuration =====
 +Si vous développez une application en local, il est souvent utile de visualiser les messages d'​erreurs
 +dans le navigateur. Pour cela, modifier :\\
 +avec PHP5: **/​etc/​apache2/​mods-available/​php5.conf**\\
 +ou avec PHP7:
 +<file - /​etc/​apache2/​mods-available/​php7.0.conf>​
 +...
 +</​FilesMatch>​
 +  php_value display_errors on
 +<​FilesMatch ...>
 +  SetHandler...</​file>​
 +  ​
 +puis dans :\\
 +avec PHP5: **/​etc/​php5/​apache2/​php.ini**\\
 +ou avec PHP7:
 +<file - /​etc/​php/​7.0/​apache2/​php.ini>​
 +...
 +display_errors = On
 +...
 +error_reporting = E_ALL</​file>​
 +n'​oubliez pas le 
 +<​code>​ sudo service apache2 reload </​code>​ pour prendre en compte les changements
 +
  
 ===== Voir aussi ===== ===== Voir aussi =====
  • php.txt
  • Dernière modification: Le 01/04/2024, 12:06
  • par bcag2