Table des matières
Configuration de l'installation PHP
Ajouter la source epel
Dépendances d'installation
À propos de la configuration de php
Maison développement back-end Problème PHP Comment compiler et installer php5.6.31

Comment compiler et installer php5.6.31

Nov 17, 2021 am 09:45 AM

Comment compiler et installer php5.6.31 : 1. Ajoutez la source epel et téléchargez php-5.6.31 ; 2. Décompressez le package d'installation et installez-le 3. Modifiez php-fpm.conf ; 5, modifiez le fichier de configuration nginx et redémarrez le service nginx.

Comment compiler et installer php5.6.31

L'environnement d'exploitation de cet article : système CentOS 7, version php5.6.31, ordinateur DELL G3

Comment compiler et installer php5.6.31 ?

CentOS 7 Compilez et installez PHP5.6.31

Il y a déjà nginx et mysql sur le serveur, j'ai donc décidé d'utiliser la combinaison de PHP+Nginx+mysql J'ai recherché beaucoup d'informations sur Internet. , parce que je ne connais pas Linux et PHP, je comprends, mais je ne sais pas comment PHP, nginx et mysql sont liés, j'ai rencontré diverses raisons (soit PHP n'a pas été installé correctement, soit le package n'a pas été installé), et je l'ai fait. J'ai passé beaucoup de temps. Plus tard, après le déploiement, j'ai découvert que ces trois éléments étaient séparés. Pour installer (enfin ~~ peut-il être installé ensemble), il vous suffit de configurer php après l'installation, et de configurer nginx (associé à php) et vous. peut l'exécuter directement. Quant à MySQL, tant qu'il est activé et que la base de données de connexion dans le projet php est configurée, vous pouvez vous connecter directement. Cet article vise donc principalement l'installation de php.

Concernant l'installation de nginx et mysql, vous devez installer certaines bibliothèques de développement Linux avant de démarrer l'installation. Je ne les répéterai pas ici. Elles sont toutes dans les liens de référence.

Cet article fait principalement référence à ce lien blog : https://www.cnblogs.com/flower-tree/p/7562101.html

version php : 5.6.31

version nginx : 1.7.3

Version mysql : 5.6.62

Configuration de l'installation PHP

nginx lui-même ne peut pas gérer PHP, c'est juste un serveur WEB Lorsqu'une requête est reçue, s'il s'agit d'une requête PHP, elle est envoyée à l'interpréteur PHP pour traitement et au. le résultat est renvoyé au client.

nginx envoie généralement la demande au processus de gestion fastcgi pour traitement. Le processus de gestion fastcgi sélectionne le sous-processus cgi pour traiter le résultat et le renvoie à nginx.

Qu'est-ce que PHP-FPM ? PHP-FPM est un gestionnaire FASTCGI pour PHP. Il est utilisé uniquement pour PHP. La nouvelle version intègre php-fpm qui offre une meilleure gestion des processus php, peut contrôler efficacement la mémoire et les processus et recharger en douceur la configuration php. Lors de la configuration, vous pouvez activer php-fpm avec le paramètre -enable-fpm. D'autres paramètres peuvent être trouvés ici. Quant à ce qu'est fastcgi et sa relation avec php-fpm, veuillez vous référer au lien https://segmentfault.com/. q/1010000000256516

Préparation avant l'installation

Ajouter la source epel

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Copier après la connexion

Dépendances d'installation

yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-develyum -y install gcc gcc-c++ glibcyum -y install libmcrypt-devel mhash-devel libxslt-devel \
libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel \
zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel \
ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel \
krb5 krb5-devel libidn libidn-devel openssl openssl-devel
Copier après la connexion

Téléchargerphp-5.6.31

1) Décompressez le package d'installation dans /usr/local/src

cd /usr/local/srctar -zvxf php-5.6.31.tar.gz
Copier après la connexion

2) Entrez dans le répertoire d'installation et installez

cd php-5.6.31./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt \--enable-mbstring --enable-pdo --with-curl --disable-debug  --disable-rpath \--enable-inline-optimization --with-bz2  --with-zlib --enable-sockets \--enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex \--with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli \--with-gd --with-jpeg-dir --with-freetype-dir --enable-calendarmake && make install
Copier après la connexion
CentOS 中下载php: wget http://php.net/get/php-5.6.30.tar.gz/from/this/mirror
Copier après la connexion

Ce qui précède termine l'installation de php-fpm. Le processus d'installation prendra un certain temps.

À propos de la configuration de php

1. Fournissez les fichiers de configuration pour php

cp php.ini-production /usr/local/php/etc/php.ini
Copier après la connexion

Remarque : php.ini-production est toujours dans le répertoire /usr/local/src/php-5.6.31 pour le moment

2. Fichier de configuration fpm

cd /usr/local/phpcp etc/php-fpm.conf.default etc/php-fpm.conf
vim etc/php-fpm.conf
Copier après la connexion

Modifier php-fpm.conf

user = www
group = www

Si l'utilisateur www n'existe pas, ajoutez d'abord l'utilisateur www (utilisateur en cours d'exécution par défaut, personne)

groupadd www
useradd -g www www
Copier après la connexion

Si cette étape n'est pas configuré, parcourez Le serveur signalera une erreur lors de l'ouverture du fichier php

"La page que vous recherchez est temporairement indisponible. Veuillez réessayer plus tard"

Modifier

pm.max_children = 150
pm.start_servers = 8
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pid = /usr/local/php/var/run/php-fpm.pid
Copier après la connexion

3. Démarrez php-fpm

.

Exécutez

/usr/local/php/sbin/php-fpm
Copier après la connexion

Utilisez la commande suivante pour vérifier Positif (s'il y a plusieurs processus php-fpm dans la sortie de cette commande, cela signifie que le démarrage est réussi) :

ps aux | grep php-fpm
Copier après la connexion

Le résultat est le suivant :

3. Intégration de nginx et php-fpm

Modifier le fichier de configuration nginx

vim /usr/local/nginx/conf/nginx.conf
Copier après la connexion

Le contenu initial est le suivant :

# nginx运行的用户名
user nginx;
# nginx启动进程,通常设置成和cpu的数量相等,这里为自动
worker_processes auto;

# errorlog文件位置
error_log /var/log/nginx/error.log;
# pid文件地址,记录了nginx的pid,方便进程管理
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
# 用来加载其他动态模块的配置
include /usr/share/nginx/modules/*.conf;

# 工作模式和连接数上限
events {
    # 每个worker_processes的最大并发链接数
    # 并发总数:worker_processes*worker_connections
    worker_connections 1024;
}

# 与提供http服务相关的一些配置参数类似的还有mail
http {
    # 设置日志的格式
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    # access_log记录访问的用户、页面、浏览器、ip和其他的访问信息
    access_log  /var/log/nginx/access.log  main;

    # 这部分下面会单独解释
    # 设置nginx是否使用sendfile函数输出文件
    sendfile            on;
    # 数据包最大时发包(使用Nagle算法)
    tcp_nopush          on;
    # 立刻发送数据包(禁用Nagle算法)
    tcp_nodelay         on;
    # 链接超时时间
    keepalive_timeout   65;
    # 这个我也不清楚...
    types_hash_max_size 2048;

    # 引入文件扩展名与文件类型映射表
    include             /etc/nginx/mime.types;
    # 默认文件类型
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    # http服务上支持若干虚拟主机。
    # 每个虚拟主机一个对应的server配置项
    # 配置项里面包含该虚拟主机相关的配置。
    server {
        # 端口
        listen       80 default_server;
        listen       [::]:80 default_server;
        # 访问的域名
        server_name  _;
        # 默认网站根目录(www目录)
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.

        include /etc/nginx/default.d/*.conf;

        # 默认请求
        location / {
        }

        # 错误页(404)
        error_page 404 /404.html;
            location = /40x.html {
        }

        # 错误页(50X)
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
}
Copier après la connexion

Tout ce dont nous avons besoin pour changer la configuration est la partie server. Entrez en mode d'édition vim ou utilisez FlashFXP pour partager le fichier de configuration sur le bureau afin d'apporter des modifications.

Seuls trois changements sont nécessaires

server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        # 这里改动了,也可以写你的域名,我用的是IP地址
        server_name  192.168.0.222;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
            # 这里改动了 定义首页索引文件的名称
            index index.php index.html index.htm;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }

        # 这里新加的
        # PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI协议默认配置.
        # Fastcgi服务器和程序(PHP,Python)沟通的协议.
        location ~ \.php$ {
            # 设置监听端口
            fastcgi_pass   127.0.0.1:9000;
            # 设置脚本文件请求的路径
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            # 引入fastcgi的配置文件
            include        fastcgi_params;
        }
    }
Copier après la connexion

Redémarrez le serveur nginx

nginx -s reload
Copier après la connexion

À ce stade, nginx et php ont été configurés conjointement, mais nous ne connaissons pas l'effet réel de la configuration. Pour le moment, nous pouvons écrire un petit script de test. Vérifions-le.
Comme mentionné précédemment, /usr/share/nginx/html est le répertoire racine du site Web Nginx. Nous pouvons créer un script de test php dans ce répertoire.

#phpinfo.php est le nom du fichier que je souhaite créer

vi /usr/share/nginx/html/phpinfo.php
Copier après la connexion

Après avoir ouvert l'éditeur, saisissez

<?php
phpinfo();// 测试信息?>
Copier après la connexion

Après avoir enregistré et quitté, saisissez http://192.168.0.222/phpinfo.php dans le navigateur, ici Je suis L'adresse IP est 192.168.0.222, vous pouvez la changer par la vôtre. Une interface similaire à la suivante apparaîtra comme indiqué sur la figure :

Nginx et php ont été configurés.

4. Raisons des erreurs dans le processus d'installation

Lorsque j'ai suivi le processus d'installation, une erreur s'est produite : mcrypt.h introuvable Veuillez réinstaller libmcrypt

C'est parce que les packages php-mcrypt, libmcrypt et libmcrypt-devel ne sont pas installés. Les erreurs qui surviennent sont généralement dues à. bibliothèques ou packages manquants. Installez-les immédiatement.

Apprentissage recommandé : "Tutoriel vidéo PHP"

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)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

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)

PHP 8 JIT (juste à temps) Compilation: comment cela améliore les performances. PHP 8 JIT (juste à temps) Compilation: comment cela améliore les performances. Mar 25, 2025 am 10:37 AM

La compilation JIT de PHP 8 améliore les performances en compilant le code fréquemment exécuté en code machine, bénéficiant aux applications avec des calculs lourds et en réduisant les temps d'exécution.

Téléchargements de fichiers sécurisés PHP: prévention des vulnérabilités liées au fichier. Téléchargements de fichiers sécurisés PHP: prévention des vulnérabilités liées au fichier. Mar 26, 2025 pm 04:18 PM

L'article traite de la sécurisation des téléchargements de fichiers PHP pour éviter les vulnérabilités comme l'injection de code. Il se concentre sur la validation du type de fichier, le stockage sécurisé et la gestion des erreurs pour améliorer la sécurité de l'application.

OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes. OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes. Mar 26, 2025 pm 04:13 PM

L'article traite des 10 meilleures vulnérabilités de l'OWASP dans les stratégies PHP et d'atténuation. Les problèmes clés incluent l'injection, l'authentification brisée et les XS, avec des outils recommandés pour surveiller et sécuriser les applications PHP.

Encryption PHP: cryptage symétrique vs asymétrique. Encryption PHP: cryptage symétrique vs asymétrique. Mar 25, 2025 pm 03:12 PM

L'article traite du cryptage symétrique et asymétrique en PHP, en comparant leur aptitude, leurs performances et leurs différences de sécurité. Le chiffrement symétrique est plus rapide et adapté aux données en vrac, tandis que l'asymétrique est utilisé pour l'échange de clés sécurisé.

Authentification PHP & amp; Autorisation: mise en œuvre sécurisée. Authentification PHP & amp; Autorisation: mise en œuvre sécurisée. Mar 25, 2025 pm 03:06 PM

L'article examine la mise en œuvre d'authentification et d'autorisation robustes dans PHP pour empêcher un accès non autorisé, détaillant les meilleures pratiques et recommandant des outils d'amélioration de la sécurité.

Limitation du taux de l'API PHP: stratégies de mise en œuvre. Limitation du taux de l'API PHP: stratégies de mise en œuvre. Mar 26, 2025 pm 04:16 PM

L'article traite des stratégies de mise en œuvre de la limitation du taux d'API en PHP, y compris des algorithmes comme un godet de jeton et un seau qui fuit, et en utilisant des bibliothèques comme Symfony / Rate-Limiter. Il couvre également la surveillance, l'ajustement dynamiquement des limites de taux et la main

Quel est le but des déclarations préparées en PHP? Quel est le but des déclarations préparées en PHP? Mar 20, 2025 pm 04:47 PM

Les déclarations préparées dans PHP améliorent la sécurité et l'efficacité de la base de données en empêchant l'injection SQL et en améliorant les performances de la requête par compilation et réutilisation. Compilation de caractéristiques: 159

Comment récupérer les données d'une base de données à l'aide de PHP? Comment récupérer les données d'une base de données à l'aide de PHP? Mar 20, 2025 pm 04:57 PM

L'article discute de la récupération des données des bases de données à l'aide de PHP, couvrant les étapes, les mesures de sécurité, les techniques d'optimisation et les erreurs communes avec des solutions. COMMANDE CHAPITRE: 159

See all articles