


Introduction détaillée à l'exemple de code pour compiler et installer PHP7 sur CentOS7 (photo)
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
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*
######编译安装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*
######编译安装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*
######其他依赖yum安装[root@localhost ~] # yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel
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
Les résultats de l'exécution de la commande de configuration ci-dessus sont les suivants :
Démarrez la compilation et l'installation de PHP 7
[root@localhost php-7.0.0]# make clean && make && make install
PHP 7 Compilé et installé avec succès
Étape facultative : exécutez la commande make test pour tester
Il s'agit d'une étape non essentielle, exécutez la commande make 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/
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
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/"
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
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
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
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
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) :
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.
Articles connexes :
Mac utilise sa propre installation php par défaut
centos6.7 installation Introduction détaillée à php7
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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

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

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.

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 :

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

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 ==================================

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.

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.
