我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用PhpStorm和Docker怎么搭建一个开发环境

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用PhpStorm和Docker怎么搭建一个开发环境

今天就跟大家聊聊有关使用PhpStorm和Docker怎么搭建一个开发环境,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

第一步:使用 dockerfile 定制一个 PHP 镜像

接手维护项目,写维护代码最好的环境是和服务器保持一致,那么 docker 可以轻松实现这一点。

比如,要维护一个用 PHP5.6.4、用ThinkPHP5.0开发的一个项目,可以用 php5.6.4 镜像为基础,在此基础上安装 ThinkPHP5.0 所需的扩展,编写如下 dockerfile:

FROM  php:5.6.4-fpmRUN 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:\docker\workEnv> pwdPath                  ----                  E:\docker\workEnv
2.1 搭建目录结构

建一个文件:docker-compose.yml
两个目录:nginx、php564 用于保存相关容器的一些东西
目录结构如下:

PS E:\docker\workEnv> lsDirectory: E:\docker\workEnvMode                 LastWriteTime         Length Name----                 -------------         ------ ----d-----        27/04/2021     13:20                nginxd-----        18/05/2021     10:15                php564-a----        18/05/2021     10:47            560 docker-compose.ymlPS E:\docker\workEnv>
2.2 定制的 php dockerfile 移到 php564 目录

其他同事可能也需要维护这个项目,把 dockerfile 放到这个目录,其他其它同事也用 docker 的话,可以直接把当前目录(我这里是 workEnv)发给他,他通过 docker-compose 可直接编译。

在 php564 目录再建两个目录: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:\docker\workEnv> 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 wwwwww-data   12519   12463   0   03:03   ?     00:00:02   php-fpm: pool wwwroot       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 processPS E:\docker\workEnv>

第三步,配置 xdebug

不用 xdebug 也可以写 php 代码,但在程序需要调试的时候,可能就是到处的 var_dump、die之类的断点代码…

使用 xdebug 可以避免这种尴尬,它可以一步一步慢慢调试,可以监听入参,可以改变入参, 所以有的公司把 是否会使用 xdebug 纳入技能评级,这是有原因的。

要想使用 xdebug,大概需要这两步:

配置 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.sozend_extension=xdebug.soxdebug.idekey=PHPSTORM # IED关键字xdebug.remote_autostart=onxdebug.remote_enable=onxdebug.remote_port=9100xdebug.remote_host=192.168.2.159 # 本地IPxdebug.remote_log=/xdebug/debug.log # Xdebug logmemory_limit=1024M

完成以上配置,在 workEnv 目录,执行 docker-compose restart 重启 docker:

PS E:\docker\workEnv> docker-compose restartRestarting workenv_web_1    ... doneRestarting workenv_php564_1 ... donePS E:\docker\workEnv>

看完上述内容,你们对使用PhpStorm和Docker怎么搭建一个开发环境有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用PhpStorm和Docker怎么搭建一个开发环境

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用PhpStorm和Docker怎么搭建一个开发环境

今天就跟大家聊聊有关使用PhpStorm和Docker怎么搭建一个开发环境,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。第一步:使用 dockerfile 定制一个 PHP 镜像接手
2023-06-15

docker怎么搭建php开发环境

要搭建PHP开发环境,可以使用Docker来快速部署。以下是基本的步骤:1. 安装Docker:根据你的操作系统,安装适合的Docker版本。可以在Docker官方网站上找到相关的安装指南。2. 创建Dockerfile:在项目根目录下创建
2023-08-18

docker怎么搭建python开发环境

要搭建Python开发环境,可以使用Docker来进行部署。以下是一些步骤来设置Docker中的Python开发环境:1. 首先,安装Docker并确保它已成功安装在您的系统中。2. 创建一个Dockerfile,该文件用于定义构建镜像的配
2023-08-18

docker怎么搭建java开发环境

要搭建Java开发环境,可以使用Docker容器来快速部署和管理开发环境。以下是一些步骤:下载并安装Docker:首先需要在你的机器上安装Docker。可以到Docker官网(https://docs.docker.com/get-dock
docker怎么搭建java开发环境
2024-04-08

怎么搭建一个Java web开发环境篇

这期内容当中小编将会给大家带来有关怎么搭建一个Java web开发环境篇,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Tomcat + Eclipse添加Java EE插件因为之前进行Java SE学习已
2023-05-31

Linux中怎么搭建一个Android开发环境

Linux中怎么搭建一个Android开发环境,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、系统环境[android@localhost ~]$ uname -aLinux
2023-06-13

docker和k8s环境怎么搭建及使用

要搭建和使用Docker和Kubernetes(K8s)环境,你可以按照以下步骤进行操作:1. Docker环境搭建:a. 下载并安装适用于你的操作系统的Docker。官方网站提供了针对各种操作系统的下载链接: https://www.do
2023-10-11

使用Docker Compose轻松搭建PHP开发环境

随着时代的发展,开发环境搭建越来越迅速高效。而Docker Compose作为一种容器编排工具,可以让我们轻松地配置和管理多个Docker容器,从而快速搭建PHP开发环境。本文将介绍如何使用Docker Compose搭建PHP开发环境,并
2023-10-21

使用SpringMVC和MyBatis框架如何搭建一个开发环境

本篇文章给大家分享的是有关使用SpringMVC和MyBatis框架如何搭建一个开发环境,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、下载SpringMVC框架架包,点击打
2023-05-31

怎么使用docker搭建fastdfs环境

本篇内容主要讲解“怎么使用docker搭建fastdfs环境”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用docker搭建fastdfs环境”吧!docker镜像的选择也挺重要的,我最开
2023-07-02

怎么在vscode中搭建一个golang开发环境

怎么在vscode中搭建一个golang开发环境?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。vscode有什么用Visual Studio Code 是一个运行于 OS X,
2023-06-07

Ubuntu 11.04中怎么搭建一个Android开发环境

这期内容当中小编将会给大家带来有关Ubuntu 11.04中怎么搭建一个Android开发环境,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。#1,安装Eclipse 和 Android SDK/Phone
2023-06-16

怎么在Java中搭建一个Spring开发环境

怎么在Java中搭建一个Spring开发环境?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。添加依赖包进入spring官网,切换到projects下点击 spri
2023-05-30

Docker在Windows环境中怎么搭建和使用

本文小编为大家详细介绍“Docker在Windows环境中怎么搭建和使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Docker在Windows环境中怎么搭建和使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧
2023-07-05

android开发环境和正式环境怎么搭建

要搭建Android开发环境和正式环境,你需要遵循以下步骤:1. 安装Java开发工具包(JDK):Android开发需要使用Java编程语言,所以需要先安装Java开发工具包。你可以从Oracle官网下载最新版本的JDK并按照安装指南进行
2023-08-11

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录