首页
学习
活动
专区
圈层
工具
发布

使用 Docker 搭建 PHP 开发环境

,我个人采用的方案是先将 nginx 的整个配置目录 copy 到本地一份,然后在运行的时候将目录绑定到 nginx 容器的配置目录,这样修改配置更加方便一些。...nginx 容器中的 web 目录,这里面没有绑定配置目录,大家可以在 web 目录下建立一个 hello.html,通过浏览器访问 http://localhost/hello.html 看看效果,...删除方法: $ docker rm -f run-nginx 3、安装 php-fpm 地址:https://hub.docker.com/_/php 因为这里我们需要安装一些开发时用到的 PHP 扩展...:apt-get 的源最好换成国内的源,否则可能会在构建镜像的时候卡死;因为默认情况下官方容器是基于 Debian 的,查找源的时候很多都是过时的,如当前的 Debian 代号是 stretch,却使用了...还记得上面提到的 nginx 中有个配置填写的 “php-fpm-container” 吗?实际上就是在这里指定的,连接两个容器,并给 php-fpm 容器起了个别名,配置中通过别名访问。

5K21

避坑!用Docker搞定PHP开发环境搭建

nginx的整个配置目录copy到本地一份,然后在运行的时候将目录绑定到nginx容器的配置目录,这样修改配置更加方便一些。...nginx容器中的web目录,这里面没有绑定配置目录,大家可以在web目录下建立一个hello.html,通过浏览器访问http://localhost/hello.html看看效果,这之后可以大家可以先删除容器...:apt-get的源最好换成国内的源,否则可能会在构建镜像的时候卡死;因为默认情况下官方容器是基于Debian的,查找源的时候很多都是过时的,如当前的Debian代号是stretch,却使用了jessie...还记得上面提到的nginx中有个配置填写的“php-fpm-container”吗?实际上就是在这里指定的,连接两个容器,并给php-fpm容器起了个别名,配置中通过别名访问。...进入主窗口,在程序中打几个断点,然后点击那个绿色的甲虫就可以了。 ? 8、VSCode调试环境配置 首先安装PHP Debug插件,然后打开上面创建的xdebug目录。

3.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    教你如何做出想要的PHPDocker镜像

    2.1安装dockerhub中php官方提供的扩展 在DockerHub中提供了一些官方的PHP扩展,可以通过 docker-php-ext-install脚本命令在Dockerfile中列出要安装的扩展...,下面让我们的PHP镜像安装上常用的 pdo、 pdo_mysql、 mcrypt这些扩展。...安装扩展 DockerHub上只是提供了一部分PHP的扩展,安装这些以外的扩展仍然需要 PECL, 在Docker镜像中使用 pecl install下载、编译、安装扩展然后使用 docker-php-ext-enable...PECL安装,只能通过源码编译安装(PHP扩展型的框架Phalcon就是这样,不过设置比较复杂,以后再讲), 在Docker中同样能够通过源码安装PHP扩展 RUN curl -fsSL 'https...所以最近写的关于PHP类的技术文章也很少,之后有时间了会写如何在Docker里安装和配置Phalcon。

    1.3K20

    如何在Ubuntu 14.04上设置XHProf和XHGui以分析PHP应用程序

    步骤1 - 安装服务器依赖项 如果您没有在服务器上安装pecl,则应立即安装它。我们需要它来同时设置xhprof和mongo扩展PHP扩展。...我们还需要php5-dev从而来通过pecl安装PHP模块,并且通过php5-mcrypt来设置XHGui: sudo apt-get install php-pear php5-dev php5-mcrypt...要启用mcrypt扩展,请运行: sudo php5enmod mcrypt 最后,我们需要Git来安装XHGui。...要通过它安装pecl,请运行: sudo pecl install xhprof-beta 接下来,我们需要激活xhprof扩展。...接下来的部分将介绍如何在LAMP和LEMP环境中来为xhgui创建虚拟主机。 在LAMP上设置XHGui的虚拟主机 当使用Apache作为Web服务器时,我们首先需要确保mod_rewrite已启用。

    1.3K01

    PHP多版本共存终极填坑指南:一台服务器部署多实例的最佳实践

    从源码编译安装不同版本的PHP,到独立配置多实例php-fpm(包括端口隔离、用户权限管理),再到Nginx集成、Redis扩展安装及常见编译问题的修复,全面覆盖部署过程中的核心难点。...环境部署痛点很多PHP的同学应该都遇到这样的坑,尤其是中小企业的后端开发工程师,同一台服务器上运行着好几个不同版本的环境,没有文档,一看就让人头大,这里我要用一篇博客彻底讲清楚PHP源码安装,已经同一台机器怎么部署多个...php-fpm实例,后面会安装redis扩展的实践,以及实践过程中遇到的问题和解决方案做一个详细的汇总。...,但我发现推荐pecl方式更加简单实用,使用pecl方式,出现Build process completed successfully代表扩展已经安装成功了。.../usr/local/php56/bin/pecl install redis-2.2.8每个扩展都是根据PHP版本的兼容性进行安装的,验证一下是否安装成功:[root@iZ2zed473b1ok8pmcvvuv1Z

    51352

    如何在 Fedora 30 上安装 LEMP(Linux、Nginx、MariaDB、PHP)

    在 Fedora 30 Server 上安装 Nginx、PHP 7.3 和 PHP-FPM 让我们看看如何在 Fedora 30 Server 上安装 Nginx 和 PHP 以及 PHP FPM。...-y 步骤 3) 安装额外的 PHP 模块 PHP 的默认安装仅自带基本模块和最需要的模块,如果你需要额外的模块,像 PHP 支持的 GD、XML、命令行接口、Zend OPCache 功能等等,你总是能够选择你的软件包...php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml -y 步骤 4)...[root@linuxtechi ~]# 步骤 5) 核实 Nginx (Web 服务) 和 PHP 安装 注意:假使操作系统防火墙是启用的,并运行在你的 Fedora 30 系统上,那么使用下面的命令来准许...服务 在步骤 2 中成功地安装 MariaDB 后,接下来的步骤是开启 MariaDB 服务。

    88320

    使用 Dockerfile 构建生产环境镜像

    ;apk --no-cache 的使用,也可以缩小镜像体积,对于自己安装的扩展不要忘记 rm 掉没用的文件夹;composer 安装私有仓库依赖 git 命令,所以它需要被安装;git clone 私有仓库需要...通过 apk 安装下来的扩展,需要手工 cp 到 /usr/local/lib/php/extensions/no-debug-non-zts-20131226/ 目录下;文件权限:私钥的文件权限是 600...,只有文件的拥有者具有读写权限,组里其他用户或者其他用户连读都不行,不这样做的话代码拉不下来(ssh 会报错),切记;线上排障:bind-tools 的作用在于方便线上定位问题——有时候你不得不进去容器...,不然没办法编译通过;redis、bcmath、gettext、pdo_mysql、mysqli、mbstring、gd、zip、opcache 这几个扩展几乎都是必装的,其他的像 yaf、sysvmsg...扩展,加速 PHP 的运行,主要是一些定时任务;关闭 PHP 的版本输出,这样别人访问我的网站就不知道我使用哪个 PHP 版本了,安全无小事!

    64300

    Docker 中的 PHP 安装扩展插件

    mcrypt \ # 如果安装的扩展需要自定义配置时 && docker-php-ext-configure gd --with-freetype-dir=/usr/include/...PECL 扩展 因为一些扩展并不包含在 PHP 源码文件中,所有需要使用 PECL(PHP 的扩展库仓库,通过 PEAR 打包)。...用 pecl install 安装扩展,然后再用官方提供的 docker-php-ext-enable 快捷脚本来启用扩展,如下示例 FROM php:7.1-fpm RUN apt-get update...\ # 手动安装依赖 && apt-get install -y libmemcached-dev zlib1g-dev \ # 安装需要的扩展 && pecl install memcached...其它扩展 一些既不在 PHP 源码包,也不再 PECL 扩展仓库中的扩展,可以通过下载扩展程序源码,编译安装的方式安装,如下示例: FROM php:5.6-apache RUN curl -fsSL

    5.8K41

    制作nginx+php的docker镜像及其使用技巧

    比如在容器中删除一个1G的文件,从用户的角度看,容器中该文件已经没有了,但从文件系统的角度看,文件其实还在,只不过在顶层中标记该文件已被删除,当然这个标记为已删除的文件还会占用镜像空间。...centos的官方镜像为基础的容器,并进如容器;在容器里用yum安装wget命令和编译安装需要的命令,更新国内yum源,下载Nginx,php源码   yum install -y wget gcc gcc-c...,这样nginx可以在docker启动的时候在后台运行!...,为了启动docker时,php可以在后台运行     ;daemonize = yes的注释去掉,并把yes改为no   6)安装php扩展,php的扩展很多,安装方法也都大同小异,一下以memcached...扩展为例     wget https://pecl.php.net/get/memcache-2.2.7.tgz     tar xf memcache-2.2.7.tgz     cd memcache

    3.1K20

    为什么需要自定义一个基础镜像?

    对于使用php (python)等开发的项目,由于是解释型语言并不需要编译代码这个步骤(go或者java将依赖打包到可执行程序(包)中),但是往往还需要安装一些依赖的库或者第三方模块。...在项目实践中一般会先在PHP官方镜像之上,添加项目一些必用扩展模块,例如连接 mysql数据库的 mysqlnd 模块,或者连接 redis、memcache、mongodb 等常用的php扩展模块,具体以项目实际需求为准...)虽然已经安装了nginx 但是并不会运行,目前只有默认的php-fpm在运行。...将在下一篇: 《使用supervisor管理Docker容器中多个进程》解决这个问题,敬请期待 公众号每周四 docker专题更新文章。...小结 ---- 最后来总结下文章中的知识点 基础镜像作用是为项目镜像提供支持,并在基础镜像之上添加项目代码,完成项目镜像构建工作。 除重大安全更新、添加新的扩展模块之外,基础镜像不会经常更新。

    1.7K10

    Linux系统之部署h5ai目录列表程序

    一、h5ai介绍1.1 h5ai简介h5ai 是用于 HTTP Web 服务器的现代文件索引器,专注于您的文件。目录以吸引人的方式显示,浏览它们通过不同的视图、面包屑和树概述得到增强。...最初h5ai是HTML5 Apache Index的首字母缩写,但现在它也支持其他Web服务器。1.2 h5ai特点有许多可用的扩展和配置选项,允许用户自定义目录列表的Web外观。...图片五、安装PHP5.1 卸载旧版本PHP卸载旧版本的php,防止与新装的php7.4版本冲突。yum remove -y php* 5.2 安装remi镜像源使用以下命令,安装remi镜像源。...php-mysqlnd php-opcache php-pdo php-pecl-crypto php-pecl-mcrypt php-pecl-geoip php-recode php-snmp...cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak修改httpd配置文件,在/etc/httpd/conf/httpd.conf文件中的

    69443

    PHP安装包TS和NTS的区别-Centos7 LANMP环境搭建(最完善版本)

    ,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页。...,进程结束,当用户再次请求同一个页面时,web server又会fork一个新进程进行请求处理,这样效率会比较低下(CGI被人诟病的主要原因)。...php-mysqlnd php-opcache php-pdo php-pecl-crypto php-pecl-mcrypt php-pecl-geoip php-pecl-swoole php-recode...phpinfo中extension_dir加载的路径不一致 php -i | grep 'extension_dir' #查看php扩展包安装路径 安装php的pdo以及gd库 #pdo的扩展: yum...php-pecl-crypto php-pecl-mcrypt php-pecl-geoip php-pecl-swoole php-recode php-snmp php-soap php-xmll

    2.9K10
    领券