WWW.lllT.neT下边由phpstorm实例教程频道给各位详细介绍应用PhpStorm Docker构建开发工具方式,期待对必须的小伙伴有些协助!

前提条件

  • 会 docker 的操作过程。
  • 会 dockerfile 的撰写。
  • 会 docker-compose。

以上专业技能是以下几点的前提条件。

PHP 开发人员,会慢慢地变为全栈

集成化自然环境能做到迅速敲代码的目地,但对“渐渐地变为全栈”是不好的!并不是用 docker 便会变为全栈,仅仅用一下以前没用专用工具,会让我们学得新的专业知识,进而提升自己、把握新的专业技能。

第一步:应用 dockerfile 订制一个 PHP 镜像文件

接任维护保养新项目,写维护保养编码最好是的自然环境是和网络服务器保持一致,那麼 docker 可以简单完成这一点。

例如,要维护保养一个用 PHP5.6.4、用ThinkPHP5.0开发设计的一个新项目,可以用 php5.6.4 镜像文件为基本,在这个基础上组装 ThinkPHP5.0 需要的拓展,撰写如下所示 dockerfile:

FROM  php:5.6.4-fpm
RUN apt-get update && apt-get install libssl-dev -y 
    && pecl install redis-2.2.5  xdebug-2.5.5 
    && docker-php-ext-install pdo_mysql mbstring ftp

可以运作一下指令,转化成订制镜像文件:

docker build -t php564:v1 .

第二步,应用 docker-compose 组成好几个镜像文件

docker-compose 可以编辑好几个器皿,分工协作来进行某种每日任务,让新项目跑起来,还必须 Nginx,因此新创建了一个文件目录,来专业写 docker-compose 配备:

PS E:dockerworkEnv> pwdPath                  
----                  
E:dockerworkEnv

2.1 构建文件目录构造

建一个文档:docker-compose.yml
2个文件目录:nginx、php564 用以储存有关器皿的一些物品
文件目录构造如下所示:

PS E:dockerworkEnv> lsDirectory: E:dockerworkEnv
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        27/04/2021     13:20                nginx
d-----        18/05/2021     10:15                php564
-a----        18/05/2021     10:47            560 docker-compose.yml
PS E:dockerworkEnv>

2.2 订制的 php dockerfile 移到 php564 文件目录

别的朋友很有可能也必须维护保养这一新项目,把 dockerfile 放进这一文件目录,其他其它朋友也用 docker 得话,可以自己把当前目录(我这里是 workEnv)发送给他,他根据 docker-compose 可立即编译程序。

在 php564 文件目录再建2个文件目录:conf.d、xdebug,用以投射配备 和 纪录 xdebug 日志,在撰写
docker-compose.yml 会排到用处。

2.3 撰写 docker-compose.yml

version: '3'services: 
    web:
        image: nginx        ports: 
            - "80:80"
            - "443:443"
            - "1212:1212"
        depends_on: 
            - php564        volumes: 
            # nginx 文件目录投射到 nginx 器皿配备文件目录
            - ./nginx:/etc/nginx/conf.d            # 当地新项目文件目录 投射到 nginx 器皿工作中文件目录
            - E:/www:/usr/share/nginx    php564:
        build: ./php564        volumes: 
            # 当地新项目文件目录 投射到 php 器皿工作中文件目录
            - E:/www:/var/www            # php 配置文件
            - ./php564/conf.d/php.ini:/usr/local/etc/php/conf.d/php.ini            # xdebug 调节日志
            - ./php564/xdebug:/xdebug        ports:
            - "9000:9000"

2.4 撰写 nginx 配备

到 nginx 文件目录,建一个新项目相匹配的配置文件,我这里建了 oldErp.conf:

# oldERP.confserver {
    listen       1212;
    server_name  location;
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    location /erp/ {
        alias  /usr/share/nginx/olderp/;
        if (!-e $request_filename){
            rewrite  ^/erp/index.php/(.*)$  /index.php?s=/$1  last;
        }
    }
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ .php$ {
       # 这儿写php564,在docker-compose 界定好啦
       fastcgi_pass   php564:9000;
       fastcgi_index  index.php;
       # 这儿也需要特定到php564器皿内的新项目途径
       fastcgi_param SCRIPT_FILENAME /var/www/olderp$fastcgi_script_name;
       include fastcgi_params;
    }}

2.5 编译程序 docker-compose.yml

到 workEnv 文件目录,实行:

docker-compose up -d

随后可以看一下器皿状况:

PS E:dockerworkEnv> docker-compose topworkenv_php564_1
  UID       PID    PPID    C   STIME   TTY     TIME                              CMD
-------------------------------------------------------------------------------------------------------------
root       12463   12442   0   03:03   ?     00:00:01   php-fpm: master process (/usr/local/etc/php-fpm.conf)www-data   12518   12463   0   03:03   ?     00:00:02   php-fpm: pool www
www-data   12519   12463   0   03:03   ?     00:00:02   php-fpm: pool www
root       12529   12442   0   03:03   ?     00:00:00   bashworkenv_web_1
 UID     PID    PPID    C   STIME   TTY     TIME                        CMD
-----------------------------------------------------------------------------------------------
root    12275   12254   0   02:50   ?     00:00:00   nginx: master process nginx -g daemon off;uuidd   12352   12275   0   02:50   ?     00:00:00   nginx: worker process
PS E:dockerworkEnv>

第三步,配备 xdebug

无需 xdebug 还可以写 php 编码,但在程序流程必须调节的情况下,很有可能便是四处的 var_dump、die这类的中断点编码…

应用 xdebug 可以预防这类难堪,它可以一步一步渐渐地调节,可以监视入参,可以更改入参, 因此有的企业把 是不是会应用 xdebug 列入专业技能评分,这也是有缘故的。

要想应用 xdebug,大约必须这二步:

1.配备 php 适用 xdebug
2.配备 phpstrom 远程控制调节 xdebug

3.1 配备 php 适用 xdebug

在前面订制 php 镜像文件的已组装 xdebug,但是还必须配备下一些主要参数,在撰写 docker-compose.yml 文档的情况下,干了配备投射:

# 省去其他# php 配置文件- ./php564/conf.d/php.ini:/usr/local/etc/php/conf.d/php.ini# 省去其他

因此大家到 php564/conf.d 文件目录 撰写 php.ini:

extension=redis.so
zend_extension=xdebug.so
xdebug.idekey=PHPSTORM # IED关键词xdebug.remote_autostart=on
xdebug.remote_enable=on
xdebug.remote_port=9100
xdebug.remote_host=192.168.2.159 # 当地IPxdebug.remote_log=/xdebug/debug.log # Xdebug logmemory_limit=1024M

进行以上配备,在 workEnv 文件目录,实行 docker-compose restart 重新启动 docker:

PS E:dockerworkEnv> docker-compose restart
Restarting workenv_web_1    ... doneRestarting workenv_php564_1 ... donePS E:dockerworkEnv>

3.2 配备 phpstrom 远程控制调节 xdebug

不一样的版本号很有可能页面不一样,但构思都一样:

  • 打开设置(settings)
  • 寻找 语言表达和架构(Languages & Frameworks)
  • 寻找 php,设定 debug 频道的 Xdebug 端口号
  • 或是在 php,加上一个 servers, 配备当地文件目录,和器皿文件目录的投射
    我电脑上电脑上如下所示:
    详细说明怎么使用PhpStorm Docker构建开发工具
    详细说明怎么使用PhpStorm Docker构建开发工具
    详细说明怎么使用PhpStorm Docker构建开发工具

设定好啦上边后,还必须配备 IED 的 RUN:
详细说明怎么使用PhpStorm Docker构建开发工具
详细说明怎么使用PhpStorm Docker构建开发工具

至此,我的自然环境是OK了。

3.3 切断点,应用 Xdebug

详细说明怎么使用PhpStorm Docker构建开发工具

结语

本博闻假如能让你给予一些协助,那么我的目地就到达了!

在我应用试着应用 docker 全过程中,看过几次文本文档,总算可以订制一个简洁的 dockerfile,应用 docker-compose 也是反复试着看文本文档,当训练到一定水平,忽然以前的不理解越来越有根有据,假如不明白,就多看看文本文档,多试着!

以上便是详细说明怎么使用PhpStorm Docker构建开发工具的详尽具体内容,大量请关心自学java网其他相关文章!

WWW.lllT.neT

声明:有的资源来自网络转载,版权归原作者所有,如有侵犯到您的权益请联系邮箱:our333@126.com我们将配合处理!

原文地址:详细说明怎么使用PhpStorm Docker构建开发工具发布于2021-12-13 10:27:01