Maison >développement back-end >PHP7 >Comment installer php7 et php5 pour coexister

Comment installer php7 et php5 pour coexister

藏色散人
藏色散人avant
2021-09-09 10:19:041740parcourir

Démarrer

J'ai déjà construit un environnement lamp sur le serveur et je souhaite passer au nginx plus puissant. en tant que logiciel serveur, et vous souhaitez mettre à niveau php5 vers php7 lamp环境,想换用性能更强的nginx作为服务器软件,又想将php5升级为php7.
安装nginx无需赘述:sudo apt-get install nginx,启动ng前修改apache的端口。

安装php7

源码在http://php.net/downloads.php 下载,并解压。

# cd php7***
# ./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-mcrypt=/usr/include --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gd --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache

# make
# make install

为不与5冲突,文件夹都用php7,安装过程中报错的安装响应的依赖。

对接nginx

nginx本身不能处理php脚本,需要发给php解释器处理。nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx。

# cp php.ini-production /usr/local/php7/etc/php.ini
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm
# chmod +x /etc/init.d/php7-fpm
# 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

启动php-fpm

# service php7-fpm start

中途如遇到日志文件路径不存在就手动创建并给予写的权限。

# service php7-fpm start
Starting php-fpm [07-Apr-2016 11:16:11] ERROR: [pool www] cannot get gid for group 'nobody'
[07-Apr-2016 11:16:11] ERROR: FPM initialization failed
 failed

遇到这个错误时,要添加个nobody组groupadd nobodyPas besoin d'entrer dans les détails pour installer nginx : sudo apt-get install nginx, modifiez le port apache avant de démarrer ng.

Installez php7

Téléchargez le code source sur http://php.net/downloads.php et décompressez-le.

location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

Afin de ne pas entrer en conflit avec 5, les dossiers sont tous en php7 et la dépendance de la réponse d'installation a provoqué une erreur lors du processus d'installation. Connexion à nginx

nginx lui-même ne peut pas traiter les scripts php et doit être envoyé à l'interpréteur php pour traitement. nginx envoie généralement la demande au processus de gestion fastcgi pour traitement. Le processus de gestion fascgi sélectionne le résultat du traitement du sous-processus cgi et le renvoie à nginx.
rrreee🎜Démarrez php-fpm🎜rrreee🎜Si vous rencontrez un chemin de fichier journal qui n'existe pas, créez-le manuellement et accordez l'autorisation d'écriture. 🎜rrreee🎜Lorsque vous rencontrez cette erreur, ajoutez un groupe personne groupadd person puis redémarrez. 🎜🎜Configuration nginx🎜🎜C'est lors de l'accès au fichier php qu'il devient un fichier téléchargé, car ng n'est pas configuré pour le traitement des réponses. 🎜rrreee🎜Apprentissage recommandé : "🎜Tutoriel PHP7🎜"🎜🎜🎜

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