OneinStack PHP多版本共存教程

1. 安装OneinStack

选择lnmp模式,默认安装php5.4,安装步骤参考:http://oneinstack.com/install/

选项如下:

  1. Install Nginx
  2. Do not install Apache
  3. Do not install Tomcat
  4. Install MySQL-5.6
  5. Install php-5.4
  6. ....

2. 安装php7

  1. service php-fpm stop #后面需要再安装php,需要停止php
  2. mv /etc/init.d/php-fpm{,_bk} #后面需要再安装php会覆盖,备份启动脚本

默认php5.4安装路径是/usr/local/php,如果再次安装会提示php已经安装,因此必须修改options.conf的php安装目录,将php7安装路径设置为/usr/local/php7,修改/root/oneinstack/options.conf:

  1. php_install_dir=/usr/local/php7

再次执行./install.sh,选择Install php-7,其余均选择n,等待ing

3. 修改php配置文件

  1. service php-fpm stop #停止php7启动脚本
  2. mv /etc/init.d/php-fpm /etc/init.d/php7-fpm  #重命名php7启动脚本
  3. mv /etc/init.d/php-fpm_bk /etc/init.d/php-fpm  #恢复php5.4启动脚本

设置php5.4、php7开机自启动:

  1. # CentOS:
  2. chkconfig --add php7-fpm
  3. chkconfig --add php-fpm
  4. chkconfig php7-fpm on
  5. chkconfig php-fpm on
  6. # Ubuntu/Debian:
  7. update-rc.d php7-fpm defaults
  8. update-rc.d php-fpm defaults

防止php5.4、php7监听sock冲突,修改php7的listen,更改配置文件/usr/local/php7/etc/php-fpm.conf:

  1. listen = /dev/shm/php-cgi.sock
  2. #改成
  3. listen = /dev/shm/php7-cgi.sock

手工启动php5.4、php7:

  1. service php-fpm start  #启动php5.4
  2. service php7-fpm start #启动php7

如下图:

4. 修改nginx虚拟主机配置文件

./vhost.sh绑定域名,默认是运行在php5.4,如需要将网站运行在php7下,需要修改/usr/local/nginx/conf/vhost/www.oneinstack.com.conf(www.oneinstack.com改成自己绑定域名):

  1. fastcgi_pass unix:/dev/shm/php-cgi.sock;
  2. #改成
  3. fastcgi_pass unix:/dev/shm/php7-cgi.sock;

重新加载nginx,使配置生效:

  1. service nginx reload
时间: 2024-08-09 10:44:03

OneinStack PHP多版本共存教程的相关文章

Python/Anaconda多版本共存的解决方案

博客中的文章均为 meelo 原创,请务必以链接形式注明 本文地址 虽然Python2大势已去,众多项目都已经支持Python3,但总有一些教程和项目只支持Python2.通常情况是计算机里既装着Python2,也装了Python3. 多Python版本共存的解决方案已经有不少,简单罗列几种: 直接修改程序文件名 借助pyenv和virtualenv 借助conda环境 使用Python Launcher 这些方法都有各自的不足,直接修改程序文件名仍然不能解决pip包管理器的问题,对jupyte

Ancoda 下的python多版本共存

Ancoda 下的python多版本共存 virtualenv python 多版本共存 Pip, Virtualenv 和Fabric 被称为python 的三大神器,Pip 是包管理工具,Virtualenv 是创建独立的python环境包的工具,Fabric 是和服务器管理和应用发布相关的工具(个人没有用过...),让我惊奇的是,这三个没有一个是和敲代码有关系的.有些东西在开发中真的是刚需,想绕都绕不开,今天我们来聊聊python的多版本共存的问题. 笔者在电脑上安装了Virtualenv

Linux下快速静态编译Qt以及Qt动态/静态版本共存

Qt下静态编译Qt,根据我的经验,如果按照Windows下那种直接拿官方sdk安装之后的文件来编译是行不通的,需要直接下载Qt的source包,目前诺基亚的源码叫做qt-everywhere-opensource-src的tar包,到网上一查,乖乖,大部分人编译这个包居然花费了12-13个小时!但是,根据我在Windows下静态编译Qt的经验,其实这之中很多东西都是可以不用编译的,最终我大约用了40分钟编译完成了全部内容.如果你直接使用官方的sdk安装,那么你就已经有了一个动态库,现在你又通过源

Python多版本共存之pyenv

需要在系统中安装多个Python,但又不能影响系统自带的Python,即需要实现Python的多版本共存.pyenv就是这样一个Python版本管理器. 安装pyenv curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash 设置环境变量 echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash

页面多个Jquery版本共存的冲突问题,解决方法!

示例如下: <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> var j = jQuery.noConflict(true); </script> <script type="text/javascript" src="jquery-1.

Windows 下让 Python 多个版本共存(支持 pip)

转载自 http://blog.kgzx.net/index.php/archives/40/ 因为类库兼容性的关系,写实际项目时都是用 Python 2,但自己试验性的写点小东西还是喜欢用 Python 3在这记录一下在 windows 下让这两个版本共存的配置步骤 在官网下载两个版本的 exe 文件并安装.因为我主要用 v2,所以把它放在 后面 安装.这样在调用 python 命令时,默认执行的就行 v2 版本的 进入 v3 的安装文件夹,把 python.exe 和 pythonw.exe

APP多版本共存,服务端如何兼容?

做过APP产品的技术人员都知道,APP应用属于一种C/S架构的,所以在做多版本兼容,升级等处理则比较麻烦,不像web应用那么容易.下面将带大家分析几种常见的情况和应对方式: 小改动或者新加功能的 这种情况,数据库结构和API程序一般是可以兼容多版本的,所以不用强制升级,可以坐到多版本共存. 尽量采用数据库层面新增字段和API的方式,应用程序层面就可以兼容了.当然,API层面也可以部署多个版本来同时提供,但这个不是必须的 但最重要的是数据库层面的表结构那些能够兼容到.  或者:  总结: 数据库层

分布式服务框架的热挂载以及多版本共存的简析与实现

现行的网络服务要想做大做好必须朝着分布式服务的方向去发展,比如阿里巴巴.京东这种大型的电子商务网站平台都采用了具有各自特色的分布式服务框架.分布式服务框架就是将各种服务挂载在不同的服务器上,然后进行整体的调度管理对外提供网络服务. 本博文主要讲解分布式服务的热挂载以及多版本服务共存的原理和实现,热挂载顾名思义就是在不停止框架服务进程的情况下挂载服务. 首先要实现服务的热挂载无非就是两种方式,一种是需要部署服务时候的手动操作,以及服务框架的主动监测.在这里讲解更加智能化的框架主动监测以及实现. 要

centos 安装PHP7并且与其他版本共存并且为PHP7安装redis扩展

centos 安装PHP7并且与其他版本共存 wget -c -Ophp-7.1.5.tar.gz http://cn2.php.net/get/php-7.1.5.tar.gz/from/this/mirror tar -xvf php-7.1.5.tar.gz cd php-7.1.5 在安装之前首先要搞定一些依赖,不过有一些依赖我在安装PHP5.6.30的时候都安装过了,还有少数部分依赖没有安装,那么我也给出全新的依赖谁让我们是伸手党,安装过了重新安装也没啥 yum install lib