最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 使用 Docker 秒速搭建多版本 PHP 开发环境

    正文概述 转载于:掘金(新亮笔记)   2021-07-03   341

    文章中使用的软件:

    • Mac:11.4(macOS Big Sur) ,处理器为:Intel Core。
    • Docker:3.3.3

    使用 Docker 秒速搭建多版本 PHP 开发环境

    目标

    • 支持 php 5.6.x 环境
    • 支持 PHP 7.2.x 环境

    下载

    Docker 软件下载安装,不做过多解释,一步步安装即可。

    下载地址:www.docker.com/products/do…

    代理设置

    "registry-mirrors" : [
        "http://registry.docker-cn.com",
        "http://hub-mirror.c.163.com"
      ],
    

    使用 Docker 秒速搭建多版本 PHP 开发环境

    配置环境

    PHP 7.2.x,占用本地端口 8081

    1. 启动 docker;
    2. 下载压缩包:php7-2-x.zip 并进行解压;
    3. 进入到 php7-2-x 目录,直接运行 docker-compose up 即可;
    4. 浏览器输入:http://127.0.0.1:8081/;

    使用 Docker 秒速搭建多版本 PHP 开发环境

    PHP 5.6.x,占用本地端口 8082

    1. 启动 docker;
    2. 下载压缩包:php5-6-x.zip 并进行解压;
    3. 进入到 php5-6-x 目录,直接运行 docker-compose up 即可;
    4. 浏览器输入:http://127.0.0.1:8082/;

    使用 Docker 秒速搭建多版本 PHP 开发环境

    端口映射

    local.php72.com -> 127.0.0.1:8081

    因为在 /etc/hosts 文件中不能做端口映射,需要借助其他工具。

    我借助的工具为 Chrome 浏览器插件Simple Proxy

    下载方式:

    • Chrome 应用商店下载,搜索 Simple Proxy
    • 加载本地扩展程序,下载地址:chrome-simply-proxy

    看下安装好界面:

    使用 Docker 秒速搭建多版本 PHP 开发环境

    配置成功后,访问 local.php72.com/

    使用 Docker 秒速搭建多版本 PHP 开发环境

    local.php56.com -> 127.0.0.1:8082

    同上。

    备注

    docker-compose 相关命令

    • docker-compose up 构建容器 参数[-d]为后台运行
    • docker-compose start 启用容器
    • docker-compose stop 停止容器
    • docker-compose restart 重启容器
    • docker-compose down 删除容器
    • docker-compose ps 查看当前容器状态

    php7-2-x 目录介绍

    .
    ├── docker-compose.yml
    ├── log
    │   └── nginx
    │       └── local.php72.com_access.log
    ├── phpdocker
    │   ├── README.html
    │   ├── README.md
    │   ├── nginx
    │   │   └── default.conf
    │   └── php-fpm
    │       ├── Dockerfile
    │       └── php-ini-overrides.ini
    └── web
        └── phpinfo
            └── index.php
    

    1、docker-compose.yml,容器编排的配置文件,文件无需更改。

    version: "3.1"
    services:
    
        webserver:
          image: nginx:alpine
          container_name: php7-2-x-webserver
          working_dir: /application
          volumes:
              - .:/application
              - ./phpdocker/nginx:/etc/nginx/conf.d
          ports:
           - "8081:80"
    
        php-fpm:
          build: phpdocker/php-fpm
          container_name: php7-2-x-php-fpm
          working_dir: /application
          volumes:
            - .:/application
            - ./phpdocker/php-fpm/php-ini-overrides.ini:/etc/php/7.2/fpm/conf.d/99-overrides.ini
    

    2、log/nginx 为日志目录,包含 *_access.log 和 _php_errors.log, 为配置的虚拟域名。

    3、phpdocker/nginx 为虚拟域名配置目录,其中 default.conf 配置的虚拟域名为 local.php72.com,不过多解释,大家一看就懂,其他目录和文件无需调整。

    server {
        listen 80;
    
        server_name local.php72.com;
    
        client_max_body_size 108M;
    
        access_log /application/log/nginx/${server_name}_access.log;
    
    
        root /application/web/phpinfo;
        index index.php;
    
        # try to serve file directly, fallback to index.php
        location / {
            try_files $uri /index.php$is_args$args;
        }
    
        if (!-e $request_filename) {
            rewrite ^.*$ /index.php last;
        }
    
        location ~ \.php$ {
            fastcgi_pass php-fpm:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PHP_VALUE "error_log=/application/log/nginx/${server_name}_php_errors.log";
            fastcgi_buffers 16 16k;
            fastcgi_buffer_size 32k;
            include fastcgi_params;
        }
        
    }
    
    

    4、web 为代码仓库目录,其中 phpinfo 为域名 local.php72.com 指向的代码目录。

    如果想要新增虚拟域名(local.abc.com)配置时,只需 3 步:

    1. 将代码文件夹 abc 放到 web 目录下;
    2. 新增文件 local.abc.com.conf,在配置文件中将代码目录指向到 abc 目录;
    3. 重启容器 docker-compose restart;

    php5-6-x 目录介绍

    同上。

    zip 文件如何生成的?

    大家可能会有疑问,zip 文件如何生成的,如果我想搭建其他版本的环境怎么办?

    这些文件是在线生成的,网址:phpdocker.io/generator

    使用 Docker 秒速搭建多版本 PHP 开发环境

    支持的 PHP 版本有:5.6.x7.0.x7.1.x7.2.x7.3.x7.4.x 等。

    同时还支持 MySQLMariaDBElasticsearch 等。

    按需选择后,点击 Generate project archive 即可生成压缩包。

    上面的 php5-6-x.zip 和 php7-2-x.zip 就是这种方式生成的,仅仅是对其进行微调,比如配置 log 目录,web 目录等。

    更多功能,大家去探索吧。

    下载文章中用到的 zip 文件,请在「新亮笔记」公众号内回复:phpdocker 即可。

    推荐阅读

    • SSO单点登录

    起源地下载网 » 使用 Docker 秒速搭建多版本 PHP 开发环境

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元