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

Mise à niveau de PHP5 vers PHP7 sous Centos

angryTom
Libérer: 2023-04-07 17:20:01
avant
3037 Les gens l'ont consulté

Mise à niveau de 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 accédez directement au téléchargement, puis par FTP sur le serveur Linux

2 Décompressez le package compressé

tar –xjf php-7.0.2.tar.bz2
Copier après la connexion
.

3. Entrez dans le dossier, cd php-7.0.2, et installez les outils de dépendances 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这里主要是升级,一般在php5都安装了,所以这一步可以省略
Copier après la connexion

4. Installez plusieurs dépendances (doit être installé, sinon il ne sera pas généré ultérieurement (fichier libphp7.so utilisé par apache)

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éparez 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
**注意:其中的 –enable-gd-native-ttf 可以不安装,处理图形用的,如果有需求可以以后以扩展形式装
Copier après la connexion

–with-apxs2=/usr/bin/apxs Remplacez le chemin suivant par le chemin obtenu à l'étape 4

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

6. Compilez

make
Copier après la connexion

Cette étape est sujette à de nombreux problèmes,

Si rencontré, par exemple : undefine. . . .

/ext/cli./php …

Openssl

et autres erreurs, et assurez-vous que les modules concernés sont installés, effacez généralement la compilation précédente et supprimez les fichiers concernés . La recompilation

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

résout généralement le problème.

Pour d'autres erreurs, veuillez vous référer à ce blog :

http://www.cnblogs.com/sweetXiaoma/p/5855732.html

http : //www.linuxidc.com/Linux/2017-08/146220.htm

La clé est de le résoudre vous-même. Il y a trop de distributions Linux et la configuration de l'environnement de chaque serveur est différente. Différent, vous rencontrerez donc de nombreux problèmes étranges.

7. Installation

Make install
Copier après la connexion

8. Préparer 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. Fichier modifié

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

Modifier LoadModule php5_module modules/libphp5. .so Commentez

cp /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf_5

Vi /etc/httpd/conf.d /php .conf

a été modifié comme suit : (Commentez ceux liés à php5 et modifiez les 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 connaissances sur PHP, veuillez visiter le Site Web PHP chinois !

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