Comment installer PHP 7 avec Apache et Mariadb sur Centos 7 / Debian 8

Comment installer PHP 7 avec Apache et Mariadb sur Centos 7 / Debian 8

La semaine dernière (plus précisément sur Août. 21, 2015), l'équipe de développement PHP a annoncé la disponibilité de la dernière version de Php 7 et encouragé les utilisateurs et les développeurs du monde entier à le tester.

Cependant, nous devons noter que c'est un RC (Libérer le candidat) Version, il est prévu qu'il puisse avoir des bogues ou des incompatibilités avec les configurations existantes afin que les utilisateurs soient invités à les signaler à l'aide du système de suivi des bogues et à ne pas utiliser Php 7 en production alors qu'il reste dans cette phase.

Compiler PHP 7 sur Centos 7 et Debian 8

Le bon côté est que cette version comprend plusieurs correctifs (vous voudrez peut-être vous référer à cette page dans le projet Github Référentiel pour une liste détaillée des nouvelles fonctionnalités et améliorations), la fonctionnalité la plus distinctive étant une augmentation remarquable des performances par rapport aux versions précédentes.

Cet article vous guidera à travers le processus d'installation et de compilation PHP 7 RC1 de la source tarball avec Apache et Mariadb sur Centos 7 et Debian 8 Jessie. Les mêmes instructions fonctionnent également sur Centos distributions basées comme Rhel, Feutre, Linux scientifique et Debian basé comme Ubuntu/ /menthe.

Installation de PHP 7 dans CentOS 7 et Debian 8

Comme indiqué dans l'introduction, car cette version est une RC Au lieu d'une version stable, nous ne pouvons raisonnablement nous attendre à le trouver dans les référentiels. Pour cette raison, nous devrons télécharger le code source et compiler le programme à partir de zéro.

Avant de faire cela, cependant, nous devons nous rappeler que pour mieux profiter de Php 7 Et peut-être que la meilleure façon de l'essayer est de l'installer avec Apache et Mariadb - que nous pouvons trouver dans les référentiels:

Sur Centos 7

# yum Update && yum install httpd mariaDb mariaDb-server 

Sur Debian 8

# Mise à jour de l'aptitude && aptitude installer apache2 mariaDb-server mariaDb-client mariaDb.commun 

Dans les deux cas, le tarball avec le code source de Php Peut être téléchargé et extrait comme suit:

# wget https: // téléchargements.php.net / ~ ab / php-7.0.0rc1.le goudron.GZ # TAR XZF PHP-7.0.0rc1.le goudron.gz -c / opt 

Une fois fini, passons à / opt / php-7.0.0rc1 et exécuter le buildconf script avec le -force Communiquez afin de forcer la construction d'une version RC:

# LS 
Php 7 buildconf
# CD / OPT / PHP-7.0.0rc1.le goudron.gz # ./ buildConf --Force 
Construire PHP 7

Maintenant, il est temps d'exécuter notre bien connu configurer commande. Tandis que les options ci-dessous garantiront une norme Php 7 Installation, vous pouvez vous référer à la liste des options complètes dans le manuel PHP afin de mieux personnaliser l'installation selon vos besoins:

# ./ configurer \ --prefix = $ home / php7 / usr \ --with-config-file-path = $ home / php7 / usr / etc \ --enable-mbstring \ --enable-zip \ --enable-bcmath \ --enable-pcntl \ --enable-ftp \ --enable-exif \ --enable-calendar \ --enable syssvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-wddx \ - -With-curl \ --with-mcrypt \ --with-iconv \ --with-gmp \ --with-pspell \ --with-gd \ --with-jpeg-dir = / usr \ --with- png-dir = / usr \ --with-zlib-dir = / usr \ --with-xpm-dir = / usr \ --with-freetype-dir = / usr \ --enable-gd-native-ttf \ --enable-gd-jis-conv \ --with-openssl \ --with-pdo-mysql = / usr \ --with-getText = / usr \ --with-zlib = / usr \ --with-bz2 = / usr \ --with-recode = / usr \ --with-mysqli = / usr / bin / mysql_config \ --with-apxs2 

Si vous rencontrez l'erreur suivante:

Configurer: Erreur: Aucun compilateur C acceptable trouvé dans $ Path Voir 'Config.Journal 'pour plus de détails 
PHP 7 Configurer

Installer simplement GCC et les dépendances avec la commande suivante et exécuter ce qui précède configurer recueillir à nouveau.

# yum install gcc [sur Centos 7 boîte] # aptitude installer gcc [sur Debian 8 boîte] 

Vous serez sur le point de compiller Php 7, qui peut prendre un certain temps. S'il y a d'autres bibliothèques ou ressources manquantes, ce processus échouera mais vous pouvez toujours les installer et exécuter à nouveau configurer.

Par exemple, j'ai dû installer libxml2-devel Après avoir obtenu le message d'erreur suivant:

Configurer: Erreur: XML2-Config introuvable. Veuillez vérifier votre installation libxml2. 

Malheureusement, nous ne pouvons pas couvrir tous les scénarios de cas, car le logiciel installé peut varier d'un système à un autre. Au cours de l'installation, vous voudrez peut-être vous référer à cette page qui décrit plusieurs erreurs que vous pouvez rencontrer tout en installant PHP à partir de Source, ainsi que leurs solutions respectives.

Sur Centos 7

Voici une liste complète des packages que j'ai dû installer dans mon Centos 7 boîte avant de pouvoir terminer le processus de configuration:

gcc libxml2-devel pkgconfig openssl-devel bzip2-devel curl-devel libpng-devel libpng-devel libjpeg-devel libXpm-devel freetype-devel gmp-devel libmcrypt-devel mariadb-devel aspell-devel recode-devel httpd-devel 

Vous pouvez installer tous les packages requis ci-dessus avec un seul Miam Commande comme indiqué.

# yum install gcc libxml2-devel pkgconfig openssl-devel bzip2-devel libpng-devel libpng-devel libjpeg-devel libXpm-devel freetype-devel gmp-devel libmcrypt-devel mariadb-devel aspell-devel recode-devel httpd-devel 

Le message suivant indique que la configuration est terminée avec succès:

PHP 7 Configuration réussie

Puis courez,

# faire # faire l'installation 

Une fois l'installation terminée, vous pouvez vérifier la version à l'aide de la ligne de commande:

Vérifiez la version PHP

Sur Debian 8

Dans Debian, J'ai dû installer les packages suivants pour le processus de configuration pour terminer avec succès:

make libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libxpm-dev libmysqlclient-dev libicu-dev libfreetype6-dev libxslt-dev libssl-dev libbz2-dev libgmp-dev libmcrypt-dev libpspell-dev librecode-dev apache2- dev 

Vous pouvez installer tous les packages requis ci-dessus apt-get commander Debian 8.

# apt-get installer libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libxpm-dev libmysqlclient-dev libicu-dev libfreetype6-dev libxslt-dev libssl-dev libbz2-dev libgmp-dev libmcrypt-dev libbz2-dev libgmp-dev libmcrypt Librecode-dev apache2-dev 

Puis ajouter, -with-libdir = / lib / x86_64-linux-gnu aux options de configuration et créez le lien symbolique suivant vers le GMP.H En tête de fichier:

# ln -s / usr / include / x86_64-linux-gnu / gmp.h / usr / include / gmp.H 

Puis a couru faire et faire l'installation Comme dans le cas précédent. Dans 10-15 minutes La compilation devrait avoir terminé et nous pouvons vérifier la version PHP installée comme avant:

# faire # faire l'installation 
Vérifiez la version PHP dans Debian 8

Configuration de PHP.INI et tester l'installation de Php 7

Lorsque vous installez PHP à partir de la source, deux échantillons php.ini sont prévus. Dans ce cas, ils sont situés à l'intérieur / opt / php-7.0.0rc1:

# ls -l / opt / php-7.0.0rc1 | gp grep.ini 
PHP 7 Configuration PHP.fichier ini

Vous devez maintenant en copier l'un d'eux pour / usr / local / lib, qui est désigné comme l'emplacement par défaut pour un tel fichier selon les notes d'installation:

# CP / OPT / PHP-7.0.0rc1 / php.ini-développement / usr / local / lib 

Et n'oubliez pas d'ajouter cette directive de configuration aux fichiers de configuration principaux d'Apache.

/ etc / httpd / conf / httpd.confr [sur Centos 7 boîte] / etc / apache2 / apache2.conf in [sur Debian 8 boîte] 
Loadmodule php7_module / usr / lib64 / httpd / modules / libphp7.So Sethandler Application / X-HTTPD-Php  

Dans Debian 8 vous pouvez omettre le Module de chargement ligne et vous devez également supprimer et créer les liens symboliques suivants vers les modules Apache indiqués:

# CD / etc / apache2 # RM MODS-STADABLE / MPM_EVENT.conf # rm mods-compatible / mpm_event.chargement # ln -s mods-disponible / mpm_prefork.conf MPM_PREFORK.confr # ln -s mods-disponible / mpm_prefork.Chargez MPM_PREFORK.charger 

Ensuite, redémarrez le serveur Web:

# SystemCTL Redémarrer Httpd [sur Centos 7 boîte] # systemctl redémarrer apache2 [sur Debian 8 boîte] 

Si vous démarrez Apache dans Centos 7 Renvoie un message d'erreur disant qu'il ne peut pas trouver le libphp7.donc module, copiez simplement sur le chemin indiqué à partir de / opt / php-7.0.0rc1 /.libs / libphp7.donc.

La façon classique de tester une installation PHP / Apache utilise un phpinfo () déposer. Créer un fichier nommé test.php avec le contenu suivant dans la racine du document du serveur Web (/ var / www / html dans les deux distributions):

 

Et lancer un navigateur dans un client de votre réseau pour tester:

http: // localhost / test.php ou http: // ip-address / test.php 
Vérifiez les informations Php 7 dans CentOS 7 Vérifiez les informations Php 7 dans Debian 8

Résumé

Dans cet article, nous avons expliqué comment installer PHP 7 à partir du code source, le plus récent RC de ce langage de script côté serveur populaire qui vise à améliorer les performances à des valeurs sans précédent. Jusqu'à ce qu'il atteigne l'écurie dans Novembre de cette année 2015, tu es FORTEMENT conseillé de PAS Utilisez cette version dans un environnement de production.

Si vous avez des questions / commentaires / suggestions sur cet article, n'hésitez pas à nous faire savoir en utilisant le formulaire ci-dessous.