Maison > Article > développement back-end > 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!