Maison >développement back-end >tutoriel php >Comment mettre à niveau PHP5 vers PHP7 sous Centos

Comment mettre à niveau PHP5 vers PHP7 sous Centos

尚
avant
2020-03-06 09:46:423396parcourir

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

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 取得所用路径,后面编译时用到。

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
.

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

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

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

/ext/cli./php …
Openssl

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

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

7. Installez

Make install

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

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

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>

10. Redémarrez le serveur Apache

service httpd restart

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer