GNU/Linux >> Tutoriels Linux >  >> Debian

Installation du dernier PHP 7 à la pointe de la technologie sur Debian 8 Jessie Linux

Présentation

Le référentiel de paquets stable actuel de Debian ne contient pas toujours un logiciel à jour pour être en ligne avec
nos attentes. Il y a une très bonne raison à cela, comme un système stable comme compromis pour l'exécution d'un logiciel de pointe.

Le langage de script côté serveur PHP n'est pas une exception ! Au
moment où nous écrivons, la version PHP actuelle de Debian est 5.6.29 alors que la dernière version du source PHP est 7.1.0 (étant donné qu'il n'y a pas du tout de PHP 6).

Les affirmations du développeur PHP actuel placent PHP 7 devant PHP 5.6 en termes de vitesse, où PHP 7 est censé être deux fois plus rapide que son prédécesseur :

Grâce au nouveau Zend Engine 3.0, vos applications voient des performances jusqu'à 2 fois plus rapides et une consommation de mémoire 50 % supérieure à celle de PHP 5.6, vous permettant de servir plus d'utilisateurs simultanés sans ajouter de
matériel. Conçu et refactorisé pour les charges de travail d'aujourd'hui, PHP 7 est le choix ultime pour les développeurs Web d'aujourd'hui.

Référence :zend.com/en/resources/php-7

Objectif

Comparer une vitesse entre PHP 5.6 et le dernier PHP 7.1.0 n'est pas un objectif de cet article. Cependant, l'objectif est d'installer la dernière version de PHP 7 sur le système Debian 8. De plus, nous
installerons PHP-FPM (FastCGI Process Manager). Ce guide proposera deux installations possibles.

Tout d'abord, le guide utilisera compile-php-debian script disponible sur github.com/linuxconfig/compile-php-debian pour automatiser l'installation de PHP 7 et plus tard, il montrera comment installer PHP 7 manuellement.

Exigences

  • Accès privilégié à votre système Linux Debian en tant que root ou via sudo la commande est requise

Difficulté

MOYEN

Congrès

  • # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande
  • $ - nécessite que les commandes linux données soient exécutées en tant qu'utilisateur régulier non privilégié

Instructions

Supprimer les packages PHP5

Si PHP5 est déjà installé sur votre système, vous devez les supprimer avant la nouvelle installation de PHP 7. Pour le faire pour lister tous les php package associé sur votre système :

# dpkg -l | grep -E "^ii.*php" | cut -d " " -f3
libapache2-mod-php5
php5
php5-cli
php5-common
php5-json
php5-readline

La commande Linux suivante supprimera tous les packages répertoriés par la sortie de commande ci-dessus :

# REMOVE=$(dpkg -l | grep -E "^ii.*php" | cut -d " " -f3)
# dpkg -P $REMOVE

Installation automatique par script

L'installation automatique scriptée suivante effectue toutes les étapes nécessaires pour compiler et installer la version PHP 7 sélectionnée par l'utilisateur et installera également le démon PHP-FPM. Commencez par cloner compile-php-debian script :

$ git clone https://github.com/linuxconfig/compile-php-debian.git

Ensuite, accédez à compile-php-debian répertoire :

$ cd compile-php-debian

Maintenant, décidez simplement quelle version de PHP 7 vous souhaitez installer et entrez votre numéro de version sélectionné comme argument pour install_php.sh scénario. Par exemple pour installer PHP version 7.0.8 entrez :

# ./install_php.sh 7.0.8
FOR PHP VERSION 7.1.0 RUN
# ./install_php.sh 7.1.0 

L'installation peut prendre un certain temps. Une fois terminé, démarrez PHP-FPM Daemon en exécutant service commande :

# service php7-fpm start
# service php7-fpm status
[ ok ] php-7.1.0-fpm is running.

Le démon PHP-FPM écoute maintenant sur un localhost le numéro de port 9000 . Vous pouvez également essayer de vous connecter directement au démon PHP-FPM en utilisant cgi-fcgi commande trouvée dans libfcgi0ldbl paquet :

# cgi-fcgi -bind -connect 127.0.0.1:9000
X-Powered-By: PHP/7.1.0
Content-type: text/html; charset=UTF-8

Ceci termine votre installation de PHP 7 sur votre système Linux Debain 8.

Installation manuelle

Installation des prérequis

Commençons par l'installation de tous les prérequis pour s'adapter aux options de compilation PHP les plus courantes :

# apt-get install autoconf bison build-essential git-core libbz2-dev libcurl4-openssl-dev libfreetype6-dev libicu-dev libjpeg-dev libmcrypt-dev libpng-dev libpspell-dev libreadline-dev libssl-dev 
libxml2-dev pkg-config

Téléchargement du code source PHP

Probablement le moyen le plus simple d'obtenir le code source PHP pour cloner le référentiel PHP sur GitHub. Exécutez la commande Linux suivante pour cloner le répertoire source PHP :

$ git clone https://github.com/php/php-src.git

Une fois le git clone l'opération est terminée, il vous restera un nouveau nom de répertoire php-src .

Une autre alternative consiste à obtenir une archive tar d'une version spécifique de PHP que vous
souhaitez installer en la téléchargeant directement depuis http://php.net/downloads.php . L'avantage dans ce cas est une exigence de taille de téléchargement minimale. Cependant, vous ne pourrez pas choisir
des versions sélectivement différentes pour plusieurs déploiements.

Compilation de code source PHP

À ce stade, nous sommes prêts à effectuer une compilation du code source PHP. Accédez à un php-src précédemment téléchargé répertoire :

$ cd php-src

Ensuite, décidez quelle version de PHP vous souhaitez compiler et installer. Exécutez le git suivant commande pour lister toutes les versions PHP 7 disponibles :

$ git branch -a | grep PHP-7
  remotes/origin/PHP-7.0
  remotes/origin/PHP-7.0.0
  remotes/origin/PHP-7.0.1
  remotes/origin/PHP-7.0.10
  remotes/origin/PHP-7.0.11
  remotes/origin/PHP-7.0.12
  remotes/origin/PHP-7.0.13
  remotes/origin/PHP-7.0.14
  remotes/origin/PHP-7.0.2
  remotes/origin/PHP-7.0.3
  remotes/origin/PHP-7.0.4
  remotes/origin/PHP-7.0.5
  remotes/origin/PHP-7.0.6
  remotes/origin/PHP-7.0.7
  remotes/origin/PHP-7.0.8
  remotes/origin/PHP-7.0.9
  remotes/origin/PHP-7.1
  remotes/origin/PHP-7.1.0
  remotes/origin/PHP-7.1.0RC1
  remotes/origin/PHP-7.1.0RC2
  remotes/origin/PHP-7.1.0RC3
  remotes/origin/PHP-7.1.0beta1
  remotes/origin/PHP-7.1.0beta2
  remotes/origin/PHP-7.1.0beta3

Utilisez git checkout commande pour passer à la branche de version PHP que vous souhaitez utiliser pour la compilation. Exemple :

$ git checkout PHP-7.1.0
Branch PHP-7.1.0 set up to track remote branch PHP-7.1.0 from origin.
Switched to a new branch 'PHP-7.1.0'

Ensuite, créez un répertoire à utiliser comme cible d'installation. Dans notre cas ce sera /usr/local/php-7.1.0 :

# mkdir /usr/local/php-7.1.0

et spécifiez toutes les chaînes de compilation. Faites attention au --prefix et --with-config-file-scan-dir chaînes de configuration qui définissent les paramètres
d'installation et de configuration. Voici une liste des options de compilation PHP les plus courantes.

N'hésitez pas à mettre à jour la liste en fonction de vos besoins. En fonction de votre sélection, vous devrez peut-être installer des
prérequis supplémentaires. Copiez et collez le texte ci-dessous dans votre terminal suivi de ENTER :

CONFIGURE_STRINGS="--enable-bcmath \
                   --enable-calendar \
                   --enable-dba \
                   --enable-exif \
                   --enable-filter \
                   --enable-fpm \
                   --enable-ftp \
                   --enable-gd-native-ttf \
                   --enable-intl \
                   --enable-mbstring \
                   --enable-mysqlnd \
                   --enable-pcntl \
                   --enable-shmop \
                   --enable-simplexml \
                   --enable-soap \
                   --enable-sockets \
                   --enable-sysvmsg \
                   --enable-sysvsem \
                   --enable-sysvshm \
                   --enable-wddx \
                   --enable-xmlreader \
                   --enable-xmlwriter \
                   --enable-zip \
                   --prefix=/usr/local/php-7.1.0 \
                   --with-bz2 \
                   --with-config-file-scan-dir=/usr/local/php-7.1.0/etc/conf.d \
                   --with-curl \
                   --with-fpm-group=www-data \
                   --with-fpm-user=www-data \
                   --with-freetype-dir \
                   --with-gd \
                   --with-gettext \
                   --with-jpeg-dir \
                   --with-mcrypt \
                   --with-mhash \
                   --with-mysqli=mysqlnd \
                   --with-mysql-sock=/var/run/mysqld/mysqld.sock \
                   --with-openssl \
                   --without-pear \
                   --with-pdo-mysql=mysqlnd \
                   --with-pdo-sqlite \
                   --with-png-dir \
                   --with-pspell \
                   --with-readline \
                   --with-sqlite3 \
                   --with-zlib"

Ce qui précède définira CONFIGURE_STRINGS variable shell pour contenir toutes vos options de compilation PHP. Ensuite, nous devons construire notre configure et nos Makefiles. Pour ce faire, exécutez :

$ ./buildconf --force
Forcing buildconf
Removing configure caches
rebuilding aclocal.m4
rebuilding configure
rebuilding main/php_config.h.in

Procédez ensuite à la configuration de la compilation :

$ ./configure $CONFIGURE_STRINGS

Si aucune erreur n'a été produite par le configure ci-dessus commande, puis il est temps d'effectuer la compilation en exécutant un make commande :

$ make
....
Build complete.
Don't forget to run 'make test'.

Une fois la compilation si le code source PHP est terminé, exécutez éventuellement make test commande ou exécutez make install commande pour installer tous les binaires précédemment compilés dans leurs
répertoires correspondants :

# make install
Installing shared extensions:     /usr/local/php-7.1.0/lib/php/extensions/no-debug-non-zts-20160303/
Installing PHP CLI binary:        /usr/local/php-7.1.0/bin/
Installing PHP CLI man page:      /usr/local/php-7.1.0/php/man/man1/
Installing PHP FPM binary:        /usr/local/php-7.1.0/sbin/
Installing PHP FPM config:        /usr/local/php-7.1.0/etc/
Installing PHP FPM man page:      /usr/local/php-7.1.0/php/man/man8/
Installing PHP FPM status page:   /usr/local/php-7.1.0/php/php/fpm/
Installing phpdbg binary:         /usr/local/php-7.1.0/bin/
Installing phpdbg man page:       /usr/local/php-7.1.0/php/man/man1/
Installing PHP CGI binary:        /usr/local/php-7.1.0/bin/
Installing PHP CGI man page:      /usr/local/php-7.1.0/php/man/man1/
Installing build environment:     /usr/local/php-7.1.0/lib/php/build/
Installing header files:           /usr/local/php-7.1.0/include/php/
Installing helper programs:       /usr/local/php-7.1.0/bin/
  program: phpize
  program: php-config
Installing man pages:             /usr/local/php-7.1.0/php/man/man1/
  page: phpize.1
  page: php-config.1
/php-src/build/shtool install -c ext/phar/phar.phar /usr/local/php-7.1.0/bin
ln -s -f phar.phar /usr/local/php-7.1.0/bin/phar
Installing PDO headers:           /usr/local/php-7.1.0/include/php/ext/pdo/

Terminé. PHP 7.1.0 est maintenant installé. Pour confirmer l'exécution :

$ /usr/local/php-7.1.0/bin/php -v
PHP 7.1.0 (cli) (built: Jan  2 2017 09:09:59) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies

Installation du gestionnaire de processus FastCGI

Dans cette section, nous allons installer PHP-FPM à utiliser comme façade pour l'installation avec des serveurs Web tels que Nginx ou Apache. Tout d'abord, créez un lien symbolique du nouveau compilé
/usr/local/php-$version/sbin/php-fpm binaire pour rendre notre installation propre :

# ln -s /usr/local/php-7.1.0/sbin/php-fpm /usr/local/php-7.1.0/sbin/php-7.1.0-fpm

Toujours dans le php-src répertoire, configurez un php.ini par défaut configuration :

# cp php.ini-production /usr/local/php-7.1.0/lib/php.ini

Activer le fichier de configuration du démon PHP-FPM :

# mv /usr/local/php-7.1.0/etc/php-fpm.d/www.conf.default /usr/local/php-7.1.0/etc/php-fpm.d/www.conf

Utilisez l'éditeur de texte et créez un nouveau /usr/local/php-7.1.0/etc/php-fpm.conf fichier de configuration avec un contenu suivant :

[global]
pid = /var/run/php7-fpm.pid
error_log = /var/log/php7-fpm.log
include=/usr/local/php-7.1.0/etc/php-fpm.d/*.conf

Activer les modules PHP supplémentaires

Insérez toutes les directives de module que vous souhaitez activer dans votre php.ini fichier de configuration. Par exemple, pour activer l'exécution du module PHP OpCache de Zend :

# echo "zend_extension=opcache.so" >> /usr/local/php-7.1.0/lib/php.ini

Configurer le script PHP7-FPM init.d

Tout d'abord, insérez un php7-fpm.init modifié suivant script dans /etc/init.d/ répertoire :

# wget -qO /etc/init.d/php7-fpm https://linuxconfig.org/images/php7-fpm.init

Si vous avez installé une version différente de PHP autre que 7.1.0 utilisez votre éditeur de texte et modifiez les variables de script suivantes pour les adapter à votre VERSION PHP installé :

PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/php-VERSION/sbin
NAME=php-VERSION-fpm
DAEMON=/usr/local/php-VERSION/sbin/$NAME
CONFFILE=/usr/local/php-VERSION/etc/php-fpm.conf

Enfin, faites /etc/init.d/php7-fpm exécutable et lancez udpate-rc.d commande :

# chmod +x /etc/init.d/php7-fpm
# update-rc.d php7-fpm defaults

Démarrer le démon PHP-FPM

Maintenant, vous devriez pouvoir démarrer simplement PHP-FPM Daemon en exécutant service commande :

# service php7-fpm start
# service php7-fpm status
[ ok ] php-7.1.0-fpm is running.

Le démon PHP-FPM écoute maintenant sur un localhost le numéro de port 9000 .


Debian
  1. Comment installer PHP Composer sur Debian Linux

  2. Installez le dernier Eclipse Java IDE sur Debian 8 et Ubuntu 16.04 Linux

  3. Comment installer le dernier Eclipse Java IDE sur Debian 9 Stretch Linux

  4. Comment installer la dernière version de Mesa sur Debian 9 Stretch Linux

  5. Comment installer les derniers pilotes NVIDIA sur Debian 9 Stretch Linux

Installation du webmail RoundCube sur Debian 8 (Jessie)

Installation et configuration de PSAD sur Debian 8 (Jessie)

Installation du serveur Samba sur Debian 8 (Jessie)

Comment installer le dernier MySQL dans Debian 10

COMPARAISON ENTRE DEBIAN ET ARCH LINUX

Comment installer le dernier PHP 8 sur Debian 10