用码头工人搞定PHP开发环境搭建的示例

  介绍

这篇文章将为大家详细讲解有关用码头工人搞定PHP开发环境搭建的示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

,避坑!用码头工人搞定PHP开发环境搭建(Mac,码头工人,Nginx、PHP-FPM XDebug, PHPStorm, VSCode)

因为最近换电脑的缘故需要重新部署一下本地的开发环境,之前采用的虚拟机方案,占用磁盘空间实在是太大,心疼SSD那么点地方,所以这次采用了码头工人的方案来部署。

关于这次部署的原则,我的想法是尽量使用官方的镜像来实现,尽量不改动或少改动镜像。因为是本地的开发环境,所以想多尝尝鲜,尽量使用高版本的软件来实现。

从结果上来说,希望能给同样有需要搭建环境的同学起到一些帮助,少踩一些坑,如果能按照这篇文章的步骤一次搞定那是最好了。

先来说一下环境:

码头工人18.09.2   Nginx 1.17.1   PHP 7.3.7   XDebug 2.7.2   PhpStorm 2019.1.3   VSCode 1.36.1

<强> 1,码头工人的安装

这里大家直接在码头工人官网下载码头工人为Mac就好了,直接按照提示操作即可,此处就不赘述了。

<强> 2,安装Nginx

地址:https://hub.docker.com/_/nginx

直接执行码头工人拉Nginx拉取最新的镜像;

根据上面的地址我们可以看到官方提供的一些文档,我们按照操作即可,我个人采用的方案是先将Nginx的整个配置目录复制到本地一份,然后在运行的时候将目录绑定到Nginx容器的配置目录,这样修改配置更加方便一些。

将Nginx配置目录复制到本地:

tmp-nginx - d Nginx码头工人运行——美元的名字   码头工人cp tmp-nginx:美元/etc/nginx/用户/yourname/工作区/etc/nginx   美元码头工人rm - f tmp-nginx

说明:/etc/用户/yourname/工作区,这个是我个人的工作目录,到时候根据情况换成自己的就行,命令的作用就是启一个后台运行的nginx容器,将配置目录复制出来之后终止运行并删除容器。

可以先运行一下看看效果:

美元码头工人运行——名称运行nginx - d - p 80:80 - v/用户/yourname/Workspace/www:/usr/share/nginx/html: ro nginx

说明:- v参数绑定本地的一个目录到nginx容器中网络的目录,这里面没有绑定配置目录,大家可以在web目录下建立一个你好。html,通过浏览器访问http://localhost/hello。html看看效果,这之后可以大家可以先删除容器,后面我们改完配置再来启动它。

删除方法:

美元码头工人rm - f运行nginx

<强> 3,安装php-fpm

地址:https://hub.docker.com/_/php

因为这里我们需要安装一些开发时用到php的扩展,所以最好的办法是根据Dockerfile生成我们自己的镜像,如下是我的Dockerfile,大家可以参考,可以根据情况删减不需要的扩展,否则生成的镜像会比较大。

<强> Dockerfile内容如下:

#从官方基础版本构建   从php: 7.3.7-fpm   #官方版本默认安装扩展:   #核心,ctype,旋度   #日期、dom   # fileinfo,过滤器,ftp   #哈希   # iconv   # json   # libxml   # mbstring, mysqlnd   # openssl   # pcre, PDO, pdo_sqlite Phar, posix   # readline、反射、会话,SimpleXML,钠,SPL, sqlite3,标准   #记号赋予器   xmlwriter xmlreader # xml,,   # zlib   #更新为国内镜像   运行mv/etc/apt/sources./etc/apt/sources.list列表。贝克\   ,,回声& # 39;deb http://mirrors.163.com/debian/拉伸主要收费contrib # 39;比;/etc/apt/sources.列表\   ,,回声& # 39;deb http://mirrors.163.com/debian/stretch-updates主要收费contrib # 39;在比;/etc/apt/sources.列表\   ,,回声& # 39;deb http://mirrors.163.com/debian-security/拉伸/更新主要收费contrib # 39;在比;/etc/apt/sources.列表\   ,,apt-get更新   # bcmath、日历、exif gettext,套接字、dba,   # mysqli、pcntl pdo_mysql、shmop sysvmsg, sysvsem, sysvshm扩展   运行docker-php-ext-install - j $ (nproc) bcmath日历exif gettext插座dba mysqli pcntl pdo_mysql shmop sysvmsg sysvsem sysvshm iconv   # GD扩展   运行apt-get安装- y - no-install-recommends libfreetype6-dev libjpeg62-turbo-dev libpng-dev \   ,,rm - r/var/lib/apt/lists/* \   ,,docker-php-ext-configure gd - with-freetype-dir=/usr/include/with-jpeg-dir=/usr/include/\   ,,docker-php-ext-install - j $ (nproc) gd   # imagick扩展   运行导出CFLAGS=癙HP_CFLAGS"美元;CPPFLAGS=癙HP_CPPFLAGS"美元;LDFLAGS=癙HP_LDFLAGS"美元;\   ,,apt-get安装- y - no-install-recommends libmagickwand-dev \   ,,rm - r/var/lib/apt/lists/* \   ,,pecl安装imagick-3.4.4 \   ,,docker-php-ext-enable imagick   # mcrypt扩展   运行apt-get安装- y - no-install-recommends libmcrypt-dev \   ,,rm - r/var/lib/apt/lists/* \   ,,pecl安装mcrypt-1.0.2 \   ,,docker-php-ext-enable mcrypt   # Memcached扩展   运行apt-get安装- y - no-install-recommends libmemcached-dev zlib1g-dev \   ,,rm - r/var/lib/apt/lists/* \   ,,pecl安装memcached-3.1.3 \   ,,docker-php-ext-enable memcached   #复述,扩展   运行pecl安装redis-5.0.0,,docker-php-ext-enable复述,   # opcache扩展   运行docker-php-ext-configure opcache——enable-opcache,,docker-php-ext-install opcache   # xdebug扩展   运行pecl安装xdebug-2.7.2,,docker-php-ext-enable xdebug   # swoole扩展   运行pecl安装swoole-4.4.0,,docker-php-ext-enable swoole   #镜像信息   标签作者=癝tone"   标签版本=?019.7”;   标签描述=癙HP 7.3.7开发环境镜像。

用码头工人搞定PHP开发环境搭建的示例