前提条件
- 会 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, 配备当地文件目录,和器皿文件目录的投射
我电脑上电脑上如下所示:
设定好啦上边后,还必须配备 IED 的 RUN:
至此,我的自然环境是OK了。
3.3 切断点,应用 Xdebug
结语
本博闻假如能让你给予一些协助,那么我的目地就到达了!
在我应用试着应用 docker 全过程中,看过几次文本文档,总算可以订制一个简洁的 dockerfile,应用 docker-compose 也是反复试着看文本文档,当训练到一定水平,忽然以前的不理解越来越有根有据,假如不明白,就多看看文本文档,多试着!
以上便是详细说明怎么使用PhpStorm Docker构建开发工具的详尽具体内容,大量请关心自学java网其他相关文章!
WWW.lllT.neT声明:有的资源来自网络转载,版权归原作者所有,如有侵犯到您的权益请联系邮箱:our333@126.com我们将配合处理!
原文地址:详细说明怎么使用PhpStorm Docker构建开发工具发布于2021-12-13 10:27:01