`
xieye
  • 浏览: 454664 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
阅读更多
使用docker建立php多版本共存的环境(1)

本人原创文章,转载请注明出处。

假设现在本机同时维护两个项目,一个必须使用php5.6,一个必须使用7.2,那么怎么办呢?
可以使用phpstudy进行切换。

能不能不切换,共存?

这时可以使用docker。
使用docker-composer 会更方便。这里给出一份配置做参考。
docker-composer.yml
version: '3.2' services: php56-fpm: build: ./php56/ ports: - "9000:9000" links: - mysql-db:mysql-db - redis-db:redis-db depends_on: - mysql-db - redis-db volumes: - ../../workspace/myapp_code1:/var/www/myapp_code1:rw - ../../workspace/myapp_code2:/var/www/myapp_code2:rw - ./php56/php.ini:/usr/local/etc/php/php.ini:ro # 当前php配置文件; - ./php56/php-fpm.conf:/usr/local/etc/php-fpm.conf:ro - ../logs/php56-fpm:/var/log/php-fpm:rw - ./php56/sources.list:/etc/apt/sources.list:rw restart: always command: php-fpm php72-fpm: build: ./php72/ ports: - "9100:9100" links: - mysql-db:mysql-db - redis-db:redis-db depends_on: - mysql-db - redis-db volumes: - ../../workspace/myapp_code1:/var/www/myapp_code1:rw - ../../workspace/myapp_code2:/var/www/myapp_code2:rw - ./php72/php.ini:/usr/local/etc/php/php.ini:ro # 当前php配置文件; - ./php72/php-fpm.conf:/usr/local/etc/php-fpm.conf:ro - ../logs/php72-fpm:/var/log/php-fpm:rw - ./php56/sources.list:/etc/apt/sources.list:rw restart: always command: php-fpm nginx: build: ./nginx depends_on: - php56-fpm - php72-fpm links: - php56-fpm:php56-fpm - php72-fpm:php72-fpm volumes: - ../../workspace/myapp_code1:/var/www/myapp_code1:rw - ../../workspace/myapp_code2:/var/www/myapp_code2:rw - ./nginx/conf.d:/etc/nginx/conf.d:ro - ./nginx/certs/:/etc/nginx/certs - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ../logs/nginx:/var/log/nginx ports: - "80:80" - "8080:8080" - "443:443" restart: always command: nginx -g 'daemon off;' mysql-db: build: ./mysql ports: - "3306:3306" volumes: - ../data/mysql:/var/lib/mysql:rw - ../logs/mysql:/var/lib/mysql-logs:rw environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: myapp MYSQL_USER: user MYSQL_PASSWORD: password restart: always command: "--character-set-server=utf8 --explicit_defaults_for_timestamp --innodb-flush-method=O_DSYNC --innodb-use-native-aio=0 " redis-db: build: ./redis ports: - "6379:6379" volumes: - ../data/redis:/data restart: always
0
0
分享到:
评论
相关资源推荐
  • Docker简介以及使用docker搭建lnmp的过程(多PHP版本) 一、Docker基础 Docker安装 Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 Docker。 通过 uname -r 命令查看你当前的内核版本 通过 apt-get install docker.io 安装docker Docker常见命令 容器相关操作 docker create # 创建一个容器...
  • [教程]Ubuntu 下轻松实现 PHP 多版本共存 原文地址 随着 php-mysql 拓展在 PHP7 被砍掉以后,一些程序或者插件就不能运行在 PHP7 上,因此 PHP 多版本的需求就显得非常的有必要。  因为系列教程中 PHP 是通过软件源非编译安装的,所以实现多版本共存就非常的方便,而且还非常浪费时间,编译一个php那可是大半个小时啊!!。    教程      这里以安装 PHP7.1 和 PHP5.6
  • 超强PHP集成环境,支持800多个不同PHP版本同时运行,无限自定义添加mysql与php版本 转载自今日头条 小编最近发现PHPWAMP竟然又更新了,激动之余向大家介绍一下新版的强大功能。 PHPWAMP是纯绿色集成环境,高版本php无需安装VC运行库,默认已经集成VC运行库!Nginx支持服务启动,自带安全守护。可同时运行多个mysql版本与php版本!站点管理默认支持模块化与fcgi模式! Windows版的PHP有Thread Safe(线程安全)和
  • phpstudy使用fcgid脚本映射实现php多版本共存 如果使用phpStudy_2016.11.03已经开启了fcgid的就不需要这步操作,没有开启需要fcgid修改httpd.conf最底部增加如下: LoadModule fcgid_module modules/mod_fcgid.so AddHandler fcgid-script .fcgi .php Include conf/extra/httpd-php-fcgid53.conf
  • phpstudy php+apache 环境PHP多版本环境配置 1,编辑httpd.conf LoadModule fcgid_module modules/mod_fcgid.so #添加映射 AddHandler fcgid-script .fcgi .php # 设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi进程在处理完所有请求前退出 FcgidInitialEn...
  • Linux系统中设置多版本PHP共存配合Nginx服务器使用 主要介绍了Linux系统中设置多版本PHP共存配合Nginx服务器使用的技巧,依靠php-fpm工具来进行管理,需要的朋友可以参考下 应用环境 LNMP的环境,当前PHP版本5.3.8,遇到一个应用需求只支持PHP 5.2.x,又希望保持现有应用还是用PHP 5.3.8。也就是说需要两个版本的PHP同时存在,供nginx根据需要调用不同版本。 思路 Nginx是通过PHP-FastCG
  • IIS中多个版本php共存的方法,IIS如何快速搭建PHP网站,多个php实现共存的神器! 最近在用IIS想在win2008搭建php站点,但是他妈的几个网站竟然需要不同的php版本才能运行,搞得我很郁闷,公司上一任程序员留下来的傻逼程序啊!坑我呢!!百度了很久,发现这种IIS的php多个版本共存的教程确实很多,但是照着去做就不行了,各种问题,要么权限问题,要么就503,403等各种错误,压根没像文章里面说的那么简单好吗,坑爹呢这是! 于是看看集成环境有没有现成的,找了xampp等都没有iis功能,最后看到phpstudy支持iis,但是只能切换无法实现多版本共存,很 遗憾,然后只能继续百度,
  • php多版本并存和版本切换 安装下载不同版本的PHP源码到服务器上,在编译安装时为不同的版本指定不同的路径,例如:--prefix=/usr/local/php5.6 //指定PHP5.6版本的安装路径 --prefix=/usr/local/php7.2.3 //指定PHP7.2版本的安装路径本地执行脚本指定PHP版本安装好之后,如果需要在服务器端执行PHP脚本,假设已进入脚本的路径下,为test.php使用不同版本PHP
  • Linux下部署php多版本共存 Linux下部署php多版本共存Linux下部署php多版本共存 背景说明 开始安装 phpini 配置 php-fpmconf 配置 启动 php-fpm 修改nginx配置对需要的服务配置使用php-5445 配置php-5445 的php54-fpm 开机自动启动背景说明自php7问世,身为最新版本控的我马上升级体验,但是由于服务器上还有旧程序在运行,只好部署一个php多版本共存环境。现有环境
  • Apache使用fcgid模块配置多个PHP版本共存 因为涉及多个时期开发的项目维护,每个项目使用PHP版本都不同,想要在本地开发并调试就非常麻烦了,必须得想办法同时使用多个PHP版本才行于是总结了下面方法做个记录,apache 用的不多,只是本地开发测试环境用apache感觉简单方便点儿。 如果用 Nginx 来配置多个PHP版本的话应该会更简单了吧,修改下PHP的listen端口就好了。一、根据 apache 版本下载对应的 mod_fcgid
  • wamp中php多版本共存 由于wamp中安装的apache自带了mod_fcgi所以就愉快的进行下一步吧如果没有的话就在https://www.apachelounge.com/download/里面下载安装即可在http.conf尾部添加下面这段<IfModule mod_fcgid.c> AddHandler fcgid-script .fcgi .php #php.ini的存放目录 ...
  • Apache多虚拟主机多版本PHP(5.2+5.3+5.4)共存运行配置全过程 摘要 因为某种需求,可能是因为早期的项目需要低版本的php,和目前开发所用的版本不太一致,我们需要给不同的虚拟主机配置不同版本的PHP。避免去额外配置多个Apache,等iis和apache共存的麻烦。 因为某种需求,可能是因为早期的项目需要低版本的php,和目前开发所用的版本不太一致,我们需要给不同的虚拟主机配置不同版本的PHP。避免去额外配置多个Apache,等iis和apac
  • nodejs多版本运行环境使用 如果你还不熟悉node的话,可以先去看我之前分享过的《nodejs入门级教程》及《nodejs组件篇》。 为什么需要多版本切换,由于node版本众多,特别是v8的改进较大(npm install更快),nvm可以管理及灵活切换特定版本。 下载:https://github.com/creationix/nvm nvm arch : Show if node is running in 32 ...
  • phpstudy多版本php共存,phpstudy无法多版本共存的方案,多个PHP同时运行 phpstudy多版本php共存,phpstudy无法多版本共存的方案,用了phpstudy很多年,最近测试需要用到多版本共存,默认phpstudy并不支持,只能切换版本,不能多个版本同时运行, 弄了好久都搞不定,在网站参照其他配置也都搞了好久也搞不定,最后只能考虑换集成环境了,然后就找到了功能也很强大的PHPWAMP8.8.8.8IN,这个软件默认了所有apache运行方式,默认就支持多个版本共存,站点很方便给力,尤其是站点管理功能和常用工具很给力
  • php多版本共存:增加php5.2.17版本 续: 说明:由于php5.2版本默认不支持php-fpm,需要打补丁,以支持php-fpm源码包和补丁包下载下载源码包: wget http://museum.php.net/php5/php-5.2.17.tar.gz下载php-fpm补丁包: wgethttp://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz解压源码包并给源码包打补丁解
  • LNMP 多版本PHP同时运行 首先需要装好两个版本以上的PHP(例如:php5.6和php7两个版本)。这里假设你已安装完成。 1、配置并启动php5.6: 1.打开php5.6的安装目录 # cd /usr/local/php5/ 2.打开配置监听端口文件 # cd etc/ # vim php-fpm.conf 3.将文件中的监听端口设置为9000 listen = 127.0.0.1:9000 4.
  • Mac OSX 多php版本共存 Mas OSX php多版本共存
  • docker搭建独立的php版本 手机docker-compose搭建php遇到的坑1.使用docker搭建单独的php容器 需要在nginx的配置文件里指定容器的ip例如: location ~ \.php(.*)$ { fastcgi_pass 172.18.0.1:9000; //指定容器的ip fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\.php...
  • Windows多版本python共存 1. 简介        Python自从进入3.x版本后,与2.x的版本发生了许多变化,3.x对2.x也不兼容。在实际应用中,可能会2.x和3.x的版本交叉应用,因此,需要在本地安装多个版本的Python。本处介绍一种在Windows系统下安装多个不同版本的python的方法,安装后无需进行任何特殊的处理(例如将python.exe更名为python2.exe什么的)即可使用。2. 安装环境  ...
  • centos php 多版本共存切换 首先: 1.停止当前版本PHP并分别启动脚本     service php-fpm stop #需要停止php     mv /etc/init.d/php-fpm{,_bk} #备份当前PHP版本的启动脚本 2.例如: php5.5安装路径是/usr/local/php, 那么安装其它版本的PHP 5.6可以安装到   /usr/local/php5.6 7.0可以安装到   /usr/lo...
Global site tag (gtag.js) - Google Analytics