Comment mettre à niveau PHP5 vers PHP7 sous Centos

Libérer: 2023-04-08 12:54:01
avant
3359 Les gens l'ont consulté

Comment mettre à niveau PHP5 vers PHP7 sous Centos

1. Téléchargez d'abord le package d'installation de PHP7, utilisez wget http://am1.php.net/distributions/php-7.2.0.tar.bz2, ou visitez directement le téléchargement. , puis Ftp vers le serveur Linux

Recommandé : "formation php "

2. Décompressez le package compressé, tar –xjf php-7.0.2.tar.bz2

3. Entrez dans le dossier, cd php-7.0.2, et installez les outils dépendants nécessaires,

yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel
Copier après la connexion

Le but principal ici est de mettre à niveau, qui est généralement installé en php5, donc ceci l'étape peut être omise

4. Installer plusieurs dépendances (doivent être installées, sinon le fichier libphp7.so utilisé par Apache ne pourra pas être généré ultérieurement)

yum -y install perl
yum –y install perl-devel
yum -y install httpd-devel
find /usr  -name apxs 取得所用路径,后面编译时用到。
Copier après la connexion

5 Préparer la compilation

./configure --prefix=/usr/local/php7 --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath -enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-pcntl --with-curl --with-fpm-user=nginx --enable-ftp --enable-session --enable-xml --with-apxs2=/usr/bin/apxs
Copier après la connexion
.

**Remarque : –enable -gd-native-ttf n'a pas besoin d'être installé. Il est utilisé pour le traitement graphique. Si nécessaire, il peut être installé sous une forme étendue ultérieurement

–avec-. apxs2=/usr/bin/apxs. Remplacez le chemin suivant par l'étape 4. Le chemin

–prefix=/usr/local/php7 est installé séparément dans le dossier php7 pour éviter les conflits avec php5**

6. Compiler

make
Copier après la connexion

Cette étape est simple. Il y a de nombreux problèmes

Si vous rencontrez, par exemple : undefine. . . .

/ext/cli./php …
Openssl
Copier après la connexion

et d'autres erreurs, et s'il est confirmé que les modules concernés sont installés, généralement effacer la compilation précédente, supprimer les fichiers concernés puis recompiler

make clean
rm –rf /usr/local/php7
Copier après la connexion

peut généralement résoudre le problème.

7. Installez

Make install
Copier après la connexion

8. Préparez le fichier de configuration

cp php.ini-developement /etc/php.ini   //根据实际情况,可以使用production或者development默认配置
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
Copier après la connexion

9. Besoin de modifier le fichier de configuration Apache

Vi /etc/httpd/. conf/ httpd.conf Recherchez LoadModule php7_module modules/libphp7.so S'il n'est pas ajouté manuellement,

commentez LoadModule php5_module modules/libphp5.so

cp /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf_5
Vi /etc/httpd/conf.d/php.conf
Copier après la connexion

et modifiez-le comme suit : (impliquera de commenter php5 et de passer aux modules liés à php7)

<IfModule prefork.c>
  LoadModule php7_module modules/libphp7.so
</IfModule>

<Files ".user.ini">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
        Satisfy All
</IfModule>
</Files>
DirectoryIndex index.php
# mod_php options
<IfModule  mod_php7.c>
    <FilesMatch \.php$>
        SetHandler application/x-httpd-php
</FilesMatch>
    php_value session.save_handler "files"
    php_value session.save_path    "/var/lib/php/session"
    php_value soap.wsdl_cache_dir  "/var/lib/php/wsdlcache"
</IfModule>
Copier après la connexion

10. Redémarrez le serveur Apache

service httpd restart
Copier après la connexion

Pour plus de contenu lié à la programmation, veuillez faire attention au site Web chinois de php Tutoriel de programmationChronique !

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!

Étiquettes associées:
source:csdn.net
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal