欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ubuntu 16.04 PHP5.6和PHP7.2共存 LNMP

程序员文章站 2022-05-31 18:48:44
...

因为公司项目跑PHP5.6,而自己学习需要PHP7.2,所以需要这两个版本共存.

LNMP的搭建 首先搭建的是5.6的版本 不影响 在此基础上再安装一个PHP7.2

  • ppa 方式安装 php7.2 :
sudo apt-get install software-properties-common
  • 添加 php7 的 ppa
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
  • 更新安装包
sudo apt-get update
  • 检验是否安装成功,运行命令如若成功就能开始安装php7.2
apt-cache search php7.2
  • php7.2安装
sudo apt-get -y install php7.2
apt-get install php7.2-dev  
  • 运行php -v查看版本,出现版本结果即为成功

安装PHP7.2的各个模块

sudo apt-get -y install php7.2-mysql
sudo apt-get install php7.2-fpm
apt-get install php7.2-curl php7.2-xml php7.2-json php7.2-gd php7.2-mbstring    

修改PHP-FPM的配置

vim /etc/php/7.2/fpm/php-fpm.conf 或者 /etc/php/7.2/fpm/pool.d/ 下配置文件
pm.max_children = 5    =>     pm.max_children = 20   最大子进程数
listen = /run/php/php7.2-fpm.sock    =>     listen = 127.0.0.1:9001
重启:service php7.2-fpm restart

因为之前安装的PHP5.6下配置文件中

listen = /run/php/php5.6-fpm.sock  => 127.0.0.1:9000

本地9000端口被5.6版本使用,所以这里7.2版本使用9001端口(关键!!!: 两个版本共存监听不一样的端口)

同时在PHP7.2项目的nginx配置文件中

location ~ \.php$ {
     fastcgi_pass   127.0.0.1:9001;  //这里要改成刚刚修改的端口
     fastcgi_index  index.php;
     fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
     include        fastcgi_params;
}
重启nginx和php-fpm之后,两个不同版本的项目可同时运行

systemctl restart nginx;
systemctl restart php7.2-fpm;
相关标签: 环境