Différences
Ci-dessous, les différences entre deux révisions de la page.
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 06/09/2018, 10:28] bcag2 [Installation] installation php récent |
php [Le 28/09/2018, 18:20] 176.134.15.46 [Code source visible dans le navigateur] |
||
---|---|---|---|
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 196: | Ligne 175: | ||
Si vous utilisez [[:apache2#mod_php|PHP en tant que module d'Apache]] : | Si vous utilisez [[:apache2#mod_php|PHP en tant que module d'Apache]] : | ||
* vérifiez l'installation du paquet [[apt>libapache2-mod-php]] | * vérifiez l'installation du paquet [[apt>libapache2-mod-php]] | ||
- | * si il est bien installé, activez le module : | + | * s'il est bien installé, activez le module : |
sur [[:bionic|Bionic 18.04]] : | sur [[:bionic|Bionic 18.04]] : | ||
<code>sudo a2enmod php7.2</code> | <code>sudo a2enmod php7.2</code> | ||
Ligne 204: | Ligne 183: | ||
<code>sudo systemctl restart apache2</code> | <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 ==== | ==== Conflits potentiels entre plusieurs versions de PHP ==== | ||