Table des matières
Créer un utilisateur php et un groupe d'utilisateurs
Obligatoire pour compiler et installer les dépendances php 7
Configuration des paramètres de compilation PHP 7
Démarrez la compilation et l'installation de PHP 7
Étape facultative : exécutez la commande make test pour tester
Afficher le répertoire d'installation de PHP7 après une compilation réussie
Commencer à configurer les fichiers de configuration PHP7 php.ini, php-fpm.conf, www.conf et les scripts php-fpm
Ajouter des variables d'environnement php
Définissez le répertoire des journaux PHP et le fichier de processus php-fpm ( php-fpm.sock)
Définissez PHP sur démarrez et testez si le fichier de configuration est correct
Démarrez le service php
Afficher les informations sur la version PHP7
Maison développement back-end tutoriel php Introduction détaillée à l'exemple de code pour compiler et installer PHP7 sur CentOS7 (photo)

Introduction détaillée à l'exemple de code pour compiler et installer PHP7 sur CentOS7 (photo)

Mar 28, 2017 pm 04:16 PM

Créer un utilisateur php et un groupe d'utilisateurs

Créez d'abord un utilisateur nommé php sans autorisation de connexion et un groupe d'utilisateurs nommé php

#######新建php用户和php组[root@localhost ~]
# groupadd -r php && useradd -r -g php -s /bin/false -d /usr/local/php7 -M php
Copier après la connexion

Obligatoire pour compiler et installer les dépendances php 7

Compilez et installez le paquet source binaire libmcrypt, mhash, mcrypt
La raison pour laquelle libmcrypt est compilé et installé ici est que l'installation de yum semble signaler une erreur

######编译安装libmcrypt-2.5.7
[root@localhost ~]# tar zxvf libmcrypt-2.5.7.tar.gz
[root@localhost ~]# cd libmcrypt-2.5.7
[root@localhost libmcrypt-2.5.7]# ./configure --prefix=/usr/local/related/libmcrypt
[root@localhost libmcrypt-2.5.7]# make && make install
[root@localhost libmcrypt-2.5.7]# cd ~
[root@localhost ~]# rm -rf libmcrypt-2.5.7*
Copier après la connexion
######编译安装mhash-0.9.9.9
[root@localhost ~]# tar zxf mhash-0.9.9.9.tar.gz 
[root@localhost ~]# cd mhash-0.9.9.9
[root@localhost mhash-0.9.9.9]# ./configure --prefix=/usr/local/related/mhash
[root@localhost mhash-0.9.9.9]# make && make install
[root@localhost mhash-0.9.9.9]# cd ~
[root@localhost ~]# rm -rf mhash-0.9.9.9*
Copier après la connexion
######编译安装mcrypt-2.6.8
[root@localhost ~]# tar zxf mcrypt-2.6.8.tar.gz && cd mcrypt-2.6.8
[root@localhost mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/related/libmcrypt/lib:/usr/local/related/mhash/lib
[root@localhost mcrypt-2.6.8]# export LDFLAGS="-L/usr/local/related/mhash/lib -I/usr/local/related/mhash/include/"
[root@localhost mcrypt-2.6.8]# export CFLAGS="-I/usr/local/related/mhash/include/"
[root@localhost mcrypt-2.6.8]# ./configure --prefix=/usr/local/related/mcrypt --with-libmcrypt-prefix=/usr/local/related/libmcrypt
[root@localhost mcrypt-2.6.8]# make && make install
[root@localhost mcrypt-2.6.8]# cd ~
[root@localhost ~]# rm -rf mcrypt-2.6.8*
Copier après la connexion
######其他依赖yum安装[root@localhost ~]
# yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel
Copier après la connexion

Configuration des paramètres de compilation PHP 7

Attention, vous devez d'abord supprimer le texte commentaire ajouté après la barre oblique inverse "" ci-dessous ! ! !

######生成配置文件
[root@localhost ~]# tar -zxf php-7.0.0.tar.gz && cd php-7.0.0
[root@localhost php-7.0.0]# ./buildconf --force
Forcing buildconf
Removing configure caches
buildconf: checking installation...
buildconf: autoconf version 2.69 (ok)
rebuilding configure
rebuilding main/php_config.h.in
######开始配置

[root@localhost php-7.0.0]# ./configure \
--prefix=/usr/local/php7 \                              [PHP7安装的根目录]
--exec-prefix=/usr/local/php7 \
--bindir=/usr/local/php7/bin \
--sbindir=/usr/local/php7/sbin \
--includedir=/usr/local/php7/include \
--libdir=/usr/local/php7/lib/php \
--mandir=/usr/local/php7/php/man \
--with-config-file-path=/usr/local/php7/etc \           [PHP7的配置目录]
--with-mysql-sock=/var/run/mysql/mysql.sock \           [PHP7的Unix socket通信文件]
--with-mcrypt=/usr/include \
--with-mhash \
--with-openssl \
--with-mysql=shared,mysqlnd \                           [PHP7依赖mysql库]              
--with-mysqli=shared,mysqlnd \                          [PHP7依赖mysql库]
--with-pdo-mysql=shared,mysqlnd \                       [PHP7依赖mysql库]
--with-gd \
--with-iconv \
--with-zlib \
--enable-zip \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-xml \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \                                      [允许php会话session]
--with-curl \                                           [允许curl扩展]
--with-jpeg-dir \
--with-freetype-dir \
--enable-opcache \                                      [使用opcache缓存]
--enable-fpm \
--enable-fastcgi \
--with-fpm-user=nginx \                                 [php-fpm的用户]
--with-fpm-group=nginx \                                [php-fpm的用户组]
--without-gdbm \
--with-mcrypt=/usr/local/related/libmcrypt \            [指定libmcrypt位置]
--disable-fileinfo
Copier après la connexion

Les résultats de l'exécution de la commande de configuration ci-dessus sont les suivants :
php 7配置结果

Démarrez la compilation et l'installation de PHP 7

[root@localhost php-7.0.0]# make clean && make && make install
Copier après la connexion

PHP 7 Compilé et installé avec succès
PHP 7编译安装成功

Étape facultative : exécutez la commande make test pour tester

Il s'agit d'une étape non essentielle, exécutez la commande make test

PHP 7 test

Afficher le répertoire d'installation de PHP7 après une compilation réussie

Puisque vous devez communiquer avec MySQL, vous devez vérifier spécifiquement le répertoire de la bibliothèque d'extension lib après l'installation de PHP7 ( /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/). Vous devez vous assurer qu'il existe au moins deux fichiers de bibliothèque dynamique mysqli.so et pdo_mysql.so, comme indiqué dans la figure ci-dessous.

[root@localhost php-7.0.0]# ls -lrt /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/
Copier après la connexion

php 7 目录

Commencer à configurer les fichiers de configuration PHP7 php.ini, php-fpm.conf, www.conf et les scripts php-fpm

peuvent être utilisé Copiez le fichier de configuration compilé dans le répertoire de configuration PHP7 (/usr/local/php7/etc/). Il est recommandé d'utiliser la configuration dans github. Cette configuration provient de "Configuration de php.ini, php-fpm et www.conf en PHP7"

#######方法一:直接使用编译后未经优化处理的配置
[root@localhost php-7.0.0]# cp php.ini-production /usr/local/php7/etc/php.ini
[root@localhost php-7.0.0]# cp /root/php-7.0.0/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@localhost php-7.0.0]# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
[root@localhost php-7.0.0]# cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

#######方法二:使用https://github.com/lizer2014/mylnmp/tree/master/PHP文中的配置 
[root@localhost php-7.0.0]# mv ~/php.ini /usr/local/php7/etc/php.ini && mv ~/php-fpm /etc/init.d/php-fpm
[root@localhost php-7.0.0]# mv ~/php-fpm.conf /usr/local/php7/etc/php-fpm.conf && mv ~/www.conf /usr/local/php7/etc/php-fpm.d/www.conf
Copier après la connexion

Remarque : Vous devez modifier les paramètres dans la configuration de php.ini, et changer extension_dir au vôtre

extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/"
Copier après la connexion

Dans /etc/init.d/php-fpm, il doit y avoir une commande make /var/run/php-fpm avant le processus démon de la fonction de démarrage , sinon le redémarrage du serveur entraînera un échec de démarrage, la configuration dans nginx a également ce problème

Ajouter des variables d'environnement php

[root@localhost php-7.0.0]# echo -e '\nexport PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH\n' >> /etc/profile && source /etc/profile
Copier après la connexion

Définissez le répertoire des journaux PHP et le fichier de processus php-fpm ( php-fpm.sock)

Parmi eux, définissez l'utilisateur et le groupe d'utilisateurs du répertoire de processus php-fpm sur nginx, et créez le répertoire de session php

#######设置PHP日志目录和php-fpm的运行进程ID文件(php-fpm.sock)目录
[root@localhost php-7.0.0]
# groupadd -r nginx && useradd -r -g nginx -s /bin/false -M nginx
[root@localhost php-7.0.0]
# mkdir -p /var/log/php-fpm/ && mkdir -p /var/run/php-fpm && cd /var/run/ && chown -R nginx:nginx php-fpm
#######修改session的目录配置
[root@localhost run]# mkdir -p /var/lib/php/session
[root@localhost run]
# chown -R nginx:nginx /var/lib/php
Copier après la connexion

Définissez PHP sur démarrez et testez si le fichier de configuration est correct

######配置开机自启动,增加到主机sysV服务
[root@localhost run]# chmod +x /etc/init.d/php-fpm
[root@localhost run]# chkconfig --add php-fpm
[root@localhost run]# chkconfig php-fpm on
######测试PHP的配置文件是否正确合法
[root@localhost run]# php-fpm -t
[05-Dec-2015 17:33:03] NOTICE: configuration file /usr/local/php7/etc/php-fpm.conf test is successful
Copier après la connexion

Démarrez le service php

Après avoir terminé les opérations ci-dessus, vous pouvez officiellement utiliser le service php. La commande pour démarrer le service de processus php est la suivante :

[root@localhost init.d]# service php-fpm startStarting php-fpm  done
Copier après la connexion

Ensuite, vous pouvez vérifier s'il a réussi grâce à la commande ps -aux|grep php (le nombre de processus php-fpm et l'utilisateur du processus nginx dans l'image sont tous deux déterminés par www.conf Les valeurs de pm.start_servers et user sont déterminées respectivement) :

PHP 7 ps -aux

Afficher les informations sur la version PHP7

Enfin, vous pouvez afficher les informations sur la version actuelle de PHP via la commande php -v , vous pouvez voir sur l'image qu'actuellement PHP7 utilise également le cache Zend OPcache, car la configuration zend_extension=opcache.so est ajoutée au fichier php.ini.

PHP 7 version

Articles connexes :

Mac utilise sa propre installation php par défaut

centos6.7 installation Introduction détaillée à php7

Introduction détaillée à l'installation de l'environnement php sous Linux et à la configuration de Nginx pour prendre en charge le module php-fpm (image et texte)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Adresses de téléchargement d'images de différentes versions de CentOS7 et descriptions de versions (y compris la version Everything) Adresses de téléchargement d'images de différentes versions de CentOS7 et descriptions de versions (y compris la version Everything) Feb 29, 2024 am 09:20 AM

Lors du chargement de CentOS-7.0-1406, il existe de nombreuses versions facultatives. Pour les utilisateurs ordinaires, ils ne savent pas laquelle choisir : (1) CentOS-xxxx-LiveCD.ios et CentOS-xxxx- Quoi. est la différence entre bin-DVD.iso ? Le premier n’a que 700 Mo et le second 3,8 Go. La différence ne réside pas seulement dans la taille, mais la différence la plus essentielle est que CentOS-xxxx-LiveCD.ios ne peut être chargé que dans la mémoire et exécuté, et ne peut pas être installé. Seul CentOS-xxx-bin-DVD1.iso peut être installé sur le disque dur. (2) CentOS-xxx-bin-DVD1.iso, Ce

Étapes pour accéder au mode de réparation d'urgence de CentOS 7 Étapes pour accéder au mode de réparation d'urgence de CentOS 7 Jan 13, 2024 am 09:36 AM

Ouvrez la page centos7 et apparaissez : bienvenue en mode urgence ! après vous être connecté, tapez « journalctl -xb » pour afficher les journaux système, « systemctlreboot » pour redémarrer, « systemctldefault » pour réessayer de démarrer en mode par défaut. giverootpasswordformaintenance(??Control-D???) : Solution : exécuter r

Comment accéder et nettoyer les fichiers indésirables dans le répertoire /tmp dans CentOS 7 ? Comment accéder et nettoyer les fichiers indésirables dans le répertoire /tmp dans CentOS 7 ? Dec 27, 2023 pm 09:10 PM

Il y a beaucoup de déchets dans le répertoire tmp du système centos7. Si vous souhaitez nettoyer les déchets, comment devez-vous procéder ? Jetons un coup d'œil au didacticiel détaillé ci-dessous. Pour afficher la liste des fichiers dans le répertoire de fichiers tmp, exécutez la commande cdtmp/ pour basculer vers le répertoire de fichiers actuel de tmp, et exécutez la commande ll pour afficher la liste des fichiers dans le répertoire actuel. Comme indiqué ci-dessous. Utilisez la commande rm pour supprimer des fichiers. Il convient de noter que la commande rm supprime définitivement les fichiers du système. Par conséquent, il est recommandé que lors de l'utilisation de la commande rm, il soit préférable de donner une invite avant de supprimer le fichier. Utilisez la commande rm-i file name, attendez que l'utilisateur confirme la suppression (y) ou ignore la suppression (n), et le système effectuera les opérations correspondantes. Comme indiqué ci-dessous.

Comment définir des règles de mot de passe dans centos7 ? Comment définir des règles de mot de passe dans centos7 ? Jan 07, 2024 pm 01:17 PM

Définir des règles de mot de passe pour des raisons de sécurité. Définissez le nombre de jours d'expiration du mot de passe. L'utilisateur doit changer le mot de passe dans les jours. Ce paramètre affecte uniquement les utilisateurs créés, pas les utilisateurs existants. Si vous définissez un utilisateur existant, exécutez la commande "chage -M (jours) (utilisateur)". PASS_MAX_DAYS60#Délai d'expiration du mot de passe PASS_MIN_DAYS3#Délai de changement de mot de passe initial PASS_MIN_LEN8#Longueur minimale du mot de passe PASS_WARN_AGE7#Délai d'invite d'expiration du mot de passe Répétez l'utilisation de la restriction du mot de passe [root@linuxprobe~]#vi/etc/pam.d/system-auth#nearline15 :

Comment installer l'extension mbstring sous CENTOS7 ? Comment installer l'extension mbstring sous CENTOS7 ? Jan 06, 2024 pm 09:59 PM

1.UncaughtError:Calltoundefinedfunctionmb_strlen(); Lorsque l'erreur ci-dessus se produit, cela signifie que nous n'avons pas installé l'extension mbstring ; 2. Entrez dans le répertoire d'installation de PHP cd/temp001/php-7.1.0/ext/mbstring ; /usr/local/bin /phpize ou /usr/local/php7-abel001/bin/phpize) pour installer l'extension php 4../configure--with-php-config=/usr/local/php7-abel

Comment installer Mysql dans CentOS7 et le configurer pour qu'il démarre automatiquement au démarrage Comment installer Mysql dans CentOS7 et le configurer pour qu'il démarre automatiquement au démarrage Jun 02, 2023 pm 08:36 PM

Centos7 n'a pas de base de données MySQL. La base de données par défaut est Mariadb (une branche de MySQL). Vous pouvez installer la base de données MySQL manuellement en suivant les étapes ci-dessous. 1. Téléchargez le fichier d'installation rpm wgethttp://repo.mysql.com/mysql-community-release-el7.rpm 2. Exécutez rpm pour installer rpm-ivhmysql-community-release-el7.rpm Une fois la résolution des dépendances terminée. , les options suivantes apparaissent : dependenciesresolved ==================================

Comment modifier et définir les touches de raccourci par défaut de CentOS7 ? Comment modifier et définir les touches de raccourci par défaut de CentOS7 ? Jan 09, 2024 pm 06:14 PM

Lorsque les touches de raccourci par défaut entrent en conflit avec les touches du logiciel que vous utilisez ou que vous devez utiliser les touches de raccourci selon vos propres habitudes, vous devez modifier et définir les touches de raccourci par défaut. Comment modifier les touches de raccourci par défaut de CentOS7 ? Jetons un coup d'œil au didacticiel détaillé ci-dessous. 1. Démarrez le système Centos7 dans la machine virtuelle et accédez au bureau. 2. Cliquez sur Applications->Outils système->Paramètres dans le coin supérieur gauche. 3. Entrez dans l'interface de configuration et cliquez sur le périphérique. 4. Sélectionnez Clavier et cliquez sur n'importe lequel. à droite. Et appuyez sur la touche de raccourci à définir sur le clavier pour modifier sa touche de raccourci (notez que certaines ne peuvent pas être modifiées !) 5. Après le changement, comme indiqué ci-dessous, cliquez enfin sur Paramètres, pour que le paramètre de la touche de raccourci soit défini. la modification est terminée.

Que dois-je faire si le plug-in est installé dans php7.0 mais qu'il indique toujours qu'il n'est pas installé ? Que dois-je faire si le plug-in est installé dans php7.0 mais qu'il indique toujours qu'il n'est pas installé ? Apr 02, 2024 pm 07:39 PM

Pour résoudre le problème du plugin n'affichant pas installé dans PHP 7.0 : Vérifiez la configuration du plugin et activez le plugin. Redémarrez PHP pour appliquer les modifications de configuration. Vérifiez les autorisations du fichier du plugin pour vous assurer qu'elles sont correctes. Installez les dépendances manquantes pour garantir le bon fonctionnement du plugin. Si toutes les autres étapes échouent, reconstruisez PHP. D'autres causes possibles incluent des versions de plugin incompatibles, le chargement d'une mauvaise version ou des problèmes de configuration PHP.

See all articles