Installation du dernier bord de saignement Php 7 sur Debian 8 Jessie Linux

Installation du dernier bord de saignement Php 7 sur Debian 8 Jessie Linux

Introduction

Le référentiel de packages stables actuel de Debian peut ne pas toujours contenir un logiciel à jour pour être conforme à
Nos attentes. Il y a une très bonne raison à cela, comme un système stable en tant que compromis pour exécuter un logiciel de saignement.

Le langage de script côté serveur PHP n'est pas une exemption! À
L'heure de la rédaction de la version PHP de Debian actuelle est 5.6.29 tandis que la dernière version de la source PHP est 7.1.0(étant donné qu'il n'y a pas du tout de php 6).

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

Merci au nouveau moteur Zend 3.0, vos applications voient jusqu'à 2x performances plus rapides et 50% de meilleure consommation de mémoire que PHP 5.6, vous permettant de servir plus d'utilisateurs simultanés sans ajouter
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 aujourd'hui.

Référence: Zend.com / en / ressources / php-7

Objectif

Pour comparer une vitesse entre PHP 5.6 et dernier php 7.1.0 n'est pas un objectif de cet article. Cependant, l'objectif est le Get cette dernière version PHP 7 installée sur le système Debian 8. De plus, nous
Installera PHP-FPM (FastCGI Process Manager). Ce guide offrira deux installations possibles.

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

Exigences

  • Accès privilégié à votre système Debian Linux en tant que racine ou via Sudo La commande est requise

Difficulté

MOYEN

Conventions

  • # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
  • $ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Instructions

Supprimer les packages PHP5

Si vous avez déjà installé PHP5 sur votre système, vous devez les supprimer avant une nouvelle installation PHP 7. Pour ce faire pour la liste php Package connexe sur votre système:

# dpkg -l | grep -e "^ ii.* php "| Cut -d" "-f3 libapache2-mod-php5 php5 php5-Cli php5-commun php5-json php5 readline 

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

# Retire = $ (dpkg -l | grep -e "^ ii.* php "| Cut -d" "-f3) # dpkg -p $ supprimer 

Installation automatique scénarisée

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 ainsi qu'elle installera également le démon php-fpm. Commencer par le clonage compiler-php-debian scénario:

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

Ensuite, accédez à compiler-php-debian annuaire:

$ CD compile-php-debian

Décidez maintenant simplement quelle version php 7 vous souhaitez installer et entrez votre numéro de version sélectionné comme argument pour install_php.shot scénario. Par exemple pour installer PHP version 7.0.8 Entrez:

# ./ install_php.SH 7.0.8 pour PHP version 7.1.0 Run # ./ install_php.SH 7.1.0 

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

# service php7-fpm start # service php7-fpm status [ok] php-7.1.0-FPM est en cours d'exécution. 

Le démon php-fpm écoute maintenant sur un hôte localnuméro de port 9000. Vous pouvez également tenter de vous connecter directement au démon php-fpm en utilisant CGI-FCGI Commande trouvée à l'intérieur libfcgi0ldbl emballer:

# cgi-fcgi -bind -connect 127.0.0.1: 9000 X-alimentés par: PHP / 7.1.0 Type de contenu: texte / html; Charset = UTF-8 

Cela complète votre installation PHP 7 sur votre système Linux Debain 8.

Installation manuelle

Installation préalable

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

# apt-get install AutoConf bison build-essential git-core libbz2-dev libcurl4-opennsl-dev libfreetype6-dev libicu-dev libjpeg-dev libmcrypt-dev libpng-dev libpspell-dev libmcry-dev libpngml2-dev pkg-libsl-dev libsl-dev libxml2-div pkg-libsl-dev libsl-dev libxml2-div pkg-libsl-dev-dev libxml2-dev pkg-libsl-dev libxml2-div pkg-libsl-dev libxml2-dev PKG-Dev PKG-libssl-dev libxml2-dev PKG-Dev-Dev PKG- configurer 

Téléchargement du code source PHP

Probablement le moyen le plus simple de faire en sorte que le code source PHP soit cloné le référentiel de 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 la clone git L'opération est terminée, vous vous retrouverez avec un nouveau nom de répertoire php-src.

Une autre alternative consiste à obtenir un tarball d'une version PHP spécifique que vous
souhaite installer en le téléchargeant directement à partir de http: // php.net / téléchargements.php. L'avantage dans ce cas est une exigence de taille de téléchargement minimale. Cependant, vous ne pourrez pas choisir
Différentes versions différentes pour plusieurs déploiements.

Compilation de code source PHP

À ce stade, nous sommes prêts à effectuer une compilation de code source PHP. Accéder à un téléchargement précédemment téléchargé php-src annuaire:

$ cd php-src 

Ensuite, décidez de la version PHP que vous souhaitez compiler et installer. Exécutez ce qui suit git Commande pour répertorier toutes les versions PHP 7 disponibles:

$ Git Branch -a | Grep PHP-7 Remotes / Origin / Php-7.0 télécommandes / origine / php-7.0.0 télécommandes / origine / php-7.0.1 télécommandes / origine / php-7.0.10 télécommandes / origine / php-7.0.11 télécommandes / origine / php-7.0.12 télécommandes / origine / php-7.0.13 télécommandes / origine / php-7.0.14 télécommandes / origine / php-7.0.2 télécommandes / origine / php-7.0.3 télécommandes / origine / php-7.0.4 télécommandes / origine / php-7.0.5 télécommandes / origine / php-7.0.6 télécommandes / origine / php-7.0.7 télécommandes / origine / php-7.0.8 télécommandes / origine / php-7.0.9 télécommandes / origine / php-7.1 télécommandes / origine / php-7.1.0 télécommandes / origine / 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 

Utiliser caisse git Commande pour passer à la branche de version PHP souhaitée que vous souhaitez être utilisée pour la compilation. Exemple:

$ git Checkout PHP-7.1.0 branche php-7.1.0 Configuration pour suivre la branche distante PHP-7.1.0 d'origine. Cougé à une nouvelle branche '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écifier toutes les chaînes de compilation. Prenez une note spéciale du --préfixe et --with-config-file-scan-dir chaînes de configuration qui définissent l'installation et la configuration
paramètres.Ce qui suit est une liste des options de compilation PHP les plus courantes.

Sentir, libre de mettre à jour la liste pour répondre à vos besoins. Selon votre sélection, vous devrez peut-être installer supplémentaire
conditions préalables. Copiez et collez ci-dessous le texte dans votre terminal suivi de Entrée:

Configure_strings = "- activer-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-syssvshm \ --enable-wddx \ --enable-xmlreader \ --enable-xmlwriter \ --enable-zip \ --préfix = / USR / local / php-7.1.0 \ --with-bz2 \ --with-config-file-scan-dir = / usr / local / php-7.1.0 / etc / confr.d \ --with-curl \ --with-fpm-group = www-data \ --with-fpm-user = www-data \ --with-freetype-diir \ --with-gd \ --with- getText \ --with-jpeg-diir \ --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 " 

Le ci-dessus se déroulera Configure_strings Variable de shell pour contenir toutes vos options de compilation PHP. Ensuite, nous devons construire notre configuration et ma création. Pour ce faire, exécutez:

$ ./ buildConf - Force Forcing BuildConf Suppression de configuration Caches Reconstruire Aclocal.M4 Rebuilding Configurer Rebuilding Main / Php_config.H.dans 

Ensuite, effectuez une configuration de compilation:

$ ./ configurer $ configure_strings 

Si aucune erreur n'a été produite par ce qui précède configurer commande, alors il est temps d'effectuer une compilation en exécutant un faire commande:

$ make… construire complet. N'oubliez pas d'exécuter «faire un test». 

Une fois la compilation si le code source PHP est terminé, exécutez éventuellement faire un test commande ou exécuter faire l'installation commande pour installer tous les binaires compilés précédemment dans leur
Répertoires pertinents:

# faire l'installation d'installation d'extensions partagées: / usr / local / php-7.1.0 / lib / php / extensions / non-debug-non-zts-20160303 / Installation de PHP CLI binaire: / usr / local / php-7.1.0 / bin / Installation de PHP CLI Man Page: / USR / LOCAL / PHP-7.1.0 / php / man / man1 / installation php fpm binaire: / usr / local / php-7.1.0 / SBIN / Installation de PHP FPM Config: / USR / LOCAL / PHP-7.1.0 / etc / Installation de PHP FPM Man Page: / USR / LOCAL / PHP-7.1.0 / php / man / man8 / Installation de PHP FPM Status Page: / usr / local / php-7.1.0 / php / php / fpm / Installation de phpdbg binaire: / usr / local / php-7.1.0 / bin / Installation de PHPDBG Man Page: / USR / Local / Php-7.1.0 / php / man / man1 / installation php cgi binaire: / usr / local / php-7.1.0 / bac / Installation de PHP CGI Man Page: / USR / LOCAL / PHP-7.1.0 / php / man / man1 / installer un environnement de construction: / usr / local / php-7.1.0 / lib / php / build / installer des fichiers d'en-tête: / usr / local / php-7.1.0 / Inclure / Php / Installation des programmes d'assistance: / USR / Local / Php-7.1.0 / bin / Programme: PHPIZE Programme: PHP-Config Installation de l'homme 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 Installation des en-têtes APDA: / 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 / bac / php -v php 7.1.0 (CLI) (Construit: 2 janvier 2017 09:09:59) (NTS) Copyright (C) 1997-2016 Le groupe PHP Zend Engine V3.1.0-DEV, Copyright (C) 1998-2016 Zend Technologies 

Installation de FastCGI Process Manager

Dans cette section, nous installerons PHP-FPM pour être utilisé comme front pour l'installation avec des serveurs Web tels que Nginx ou Apache. Tout d'abord, créez un lien symbolique de nouvellement compilé
/ usr / local / php- $ version / sbin / php-fpm binaire pour rendre notre installation bien rangée:

# 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, configurer une valeur par défaut php.ini config:

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

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

# mv / usr / local / php-7.1.0 / etc / php-fpm.d / www.confli.par défaut / usr / local / php-7.1.0 / etc / php-fpm.d / www.confli 

Utilisez l'éditeur de texte et créez de nouveaux / usr / local / php-7.1.0 / etc / php-fpm.confli 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/*.confli 

Activer les modules PHP supplémentaires

Insérer toutes les directives de module que vous souhaitez activer dans votre php.ini fichier de configuration. Par exemple pour activer le module PHP OPCACH de Zend:

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

Configurer php7-fpm init.d script

Tout d'abord, insérer un suivant modifié php7-fpm.init scripter dans / etc / init.d/ annuaire:

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

Au cas où 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 s'adapter à votre php installé VERSION:

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.confli 

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

# chmod + x / etc / init.d / php7-fpm # update-rc.D PHP7-FPM par défaut 

Démarrer le démon PHP-FPM

Vous devriez maintenant pouvoir simplement démarrer le démon php-fpm en exécutant service commande:

# service php7-fpm start # service php7-fpm status [ok] php-7.1.0-FPM est en cours d'exécution. 

Le démon php-fpm écoute maintenant sur un hôte localnuméro de port 9000.

Tutoriels Linux connexes:

  • Ajout d'un repos de bord de saignement à Kali Linux
  • Boucles imbriquées dans les scripts bash
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Choses à installer sur Ubuntu 20.04
  • Meilleure distribution Linux pour les développeurs
  • À quelle fréquence devez-vous redémarrer votre serveur Linux?
  • Bash et dd: test de vitesse de lecteur flash avec un script simple
  • Système linux hung? Comment s'échapper vers la ligne de commande et…
  • Manjaro Linux vs Arch Linux
  • Ubuntu 22.04 fonctionnalités et date de sortie