多版本PHP部署及composer配置
mac
#安装php5.6
brew install php56
#安装php7.1
brew install php71
#安装composer
brew install composer
此时composer对应的php版本是5.6
现在我们有一个项目A是php5.6的,有一个项目B是php7.1的
访问项目A要求用的是php5.6版本,访问项目B时要求用的是php7.1
#方案一
#查看当前php版本
php -v
#假设结果是5.6
#访问项目B的时候
brew unlink php56
brew link php71
brew services start php71
#此时再查看php版本已切换至php7.1
php -v
#如果要切回php5.6
brew unlink php71
brew link php56
brew services start php56
#方案二
#配置项目A
#nginx配置
location ~ \.php$ {...fastcgi_pass 127.0.0.1:9000
}
#配置项目B
#修改php7.1的php-fpm.conf监听端口
listen = 127.0.0.1:9001
#nginx配置
location ~ \.php$ {...fastcgi_pass 127.0.0.1:9001
}
#重启nginx和php
推荐使用方案二
多版本PHP的composer配置
用phpstorm打开项目A和项目B
在项目A中执行composer命令是正常的
在项目B中执行composer报错,因为项目B在phpstorm打开时配置的php7.1的版本
那该如何配置多版本PHP的composer呢?
通过上文brew安装的composer对应的是php5.6,因此全局的composer对应的是php5.6
故而我们需要安装的对应php7.1的composer
1,下载composer,https://getcomposer.org/download/,将下载的composer.phar移动到~/composer7目录下
#创建composer7目录
mkdir ~/composer7
#下载composer.phar
cd ~/composer7
wget https://getcomposer.org/download/1.6.5/composer.phar
2,配置composer7
#编辑~/.bash_profile,创建php7和composer7的别名
vi ~/.bash_profile
alias php7='/usr/local/Cellar/php71/7.1.11_22/bin/php'
alias composer7='/usr/local/Cellar/php71/7.1.11_22/bin/php /Users/my/composer7/composer.phar'
#'usr/local/Cellar/php71/7.1.11_22'即php7.1安装的目录
#'/Users/my/composer7'即下载的所在路径composer.phar
3,使~/.bash_profile生效
#使~/.bash_profile生效
source ~/.bash_profile
#由于是mac,用的是zsh,重启后~/.bash_profile会失效,故需要编辑~/.zshrc
vi ~/.zshrc
source /User/my/.bash_profile
#/User/my是当前用户的根目录
#编辑~/.zshrc后,mac重启是会执行./zshrc,故而重启后./bash_profile会被载入,其中的命令别名会生效
4,查看php7和composer7
#查看php7命令对应的php版本
php7 -v
#查看composer7
composer7 -v
多版本PHP部署及composer配置相关推荐
- SpringBoot项目部署与服务配置
spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动.其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat).当然你也可以将项 ...
- 27. Spring Boot 部署与服务配置
转自"https://www.cnblogs.com/zhchoutai/p/7127598.html" Spring Boot 其默认是集成web容器的,启动方式由像普通Java ...
- openstack安装newton版本keyston部署(一)
openstack安装newton版本keyston部署(一) 一.部署环境: 两台centos7, 内存2G 控制计算节点: Hostname1: i ...
- 阿里云服务器(CentOS 7.4)Jenkins(LTS 2.150.3)部署及简易配置
阿里云服务器(CentOS 7.4)Jenkins(LTS 2.150.3)部署与简易配置 Jenkins 目前是使用比较多的一个持续集成的开源工具,不管是开发测试部署,还是代码扫描等.很多工作都可以 ...
- Ubuntu16.04多主机集群上手动部署Kubernetes,配置docker私有registry,配置Kubernetes-dashboard WEB ui
Ubuntu16.04多主机集群上手动部署Kubernetes,配置docker私有registry,配置Kubernetes-dashboard WEB ui 2017年03月17日 20:51:4 ...
- 大数据增量采集OGGAdapter的安装部署与相关配置
大数据云时代,数据上云ETL已成了最基础,最根本,最必须的一个步骤.目前数据传输迁移的工具非常多,比如dataX,DTS,kettle等等.为了保证云上存储空间的有效利用和数据的整体唯一性,就没必要每 ...
- JavaWEB四:在IDEA(21.1版本)下部署Tomcat8
Tomcat8 概述 服务器架构模式 CS:客户端服务器架构模式 优点:充分利用客户端机器的资源,减轻服务器的负荷 缺点:需要安装客户端,升级维护成本较高 BS:浏览器服务器架构模式 优点:不需要安装 ...
- centos7+ docker1.12 实践部署docker及配置direct_lvm
2019独角兽企业重金招聘Python工程师标准>>> centos7+ docker1.12 实践部署docker及配置direct_lvm 博客分类: docker 前言 Doc ...
- struts2中各版本jar包需求及配置设置
struts2中各版本jar包需求及配置设置 [原文:http://wangxinghaoaccp.blog.163.com/blog/static/11581023620113213161958/] ...
最新文章
- 打开文件和关闭文件的含义
- Problem 63 何时该用glDrawTexiOES?
- python变量类型-【干货】Python基础语法之变量类型
- ubuntu16.04安装,使用redis布隆过滤器示例
- strak组件(3):URL别名的优化
- Linux中常用的操作指令(随时更新)
- 由浅到深理解ROS(9)- 几个基本概念的理解 坐标系 包
- html隐藏并失效,如果元素开始隐藏,css过渡将不起作用
- SpringMVC 模型数据
- Java电子书平滑翻页效果_(转载)Android 平滑和立体翻页效果1
- 95-190-742-源码-WindowFunction-AllWindowFunction
- maven 单独构建多模块项目中的单个模块
- linux 卷标设置与管理
- 如何将Mac外部驱动器映射到CrossOver容器
- 使用Google Chrome Frame(谷歌浏览器内嵌框架)解决低版本IE不兼容问题
- Extjs的grid总计实现
- 安卓逆向学习 之 KGB Messenger的writeup(2)
- java读取共享文件夹
- 按键边缘检测,控制LED亮灭
- PCIE 3.0 4.0 GEN3 GEN4 速度如何