PHP 开发者的 Docker 之旅

用 PHP 作为我们「Docker 开发大礼包」开篇是带着一些朝圣的心情的。这是一门堪称「古老」的语言,这也是一门争议最多的语言,这更是一门不断涅槃的语言。「PHP 是最好的语言」这个流传已久的梗,或许正是对我国最有群众基础的编程语言描述里,最经典的注解。
就让我们一起回顾一下 PHP 的发展历程作为此系列文章的开篇。历史是最好的老师,他给每个未来提供启示。
谁创造了 PHP?
Rasmus Lerdorf 在 1994 年创造了 PHP,Andi Gutmans 和 Zeev Suraski 之后于 1997 年重写了 PHP 的解析器,之后他们在以色列成立了著名的 Zend 公司来维护 PHP 的开发。
PHP 是什么的缩写?
起先的意思直白的有点近乎粗鲁「Personal Home Page」,后来改成了「PHP: Hypertext Preprocessor」即便用今天的眼光看也是很酷炫的命名。
PHP 最著名的版本?
PHP 5 发布于 2004 年 7 月 13 日,距今正好第十一个年头。
下一个 PHP 版本?
PHP 7 计划于 2015 年 11 月 12 日发布。
PHP 的形象代言人?
一只蓝色的大象,因为「elePHPant」(黄色的那头是 Hadoop)。
谁在主导 PHP 的方向?
PHP Group 来维护其标准,Zend 作为商业公司提供参考实现。
HHVM 又是什么?
HipHop Virtual Machine (HHVM) 是 Facebook 对 PHP 的一次革命性衍进,HHVM 采用实时编译进程,使得 PHP 的执行效率大幅提升。Facebook 在 2013 年全面采用 HHVM 运行 PHP,间接拉升了 PHP 生态的逼格,激发了整个 PHPer 群体的活力。
PHP 的包依赖怎么做?
Composer
PHP 的单元测试怎么做?
PHPUnit
常见的 PHP 技术栈和应用场景?
LAMP(Linux + Apache + MySQL + PHP)长期占据着我国互联网应用的主流架构。即便在今天,这也是电商和社区类互联网公司的主要技术栈。尤其在电商领域,说 PHP 托起半个中国的购物车都不为过。
为什么 ASP 和 JSP 都没有 PHP 受众广?
当年 FTP 比起 VPS 简直是白菜价。但这也间接养成了 PHP 开发重功能轻工程的通病,加上部署的随意性,上规模后运维虐成狗。
就这个运维问题,作者 Rasmus Lerdorf 怎么看?
I'm not a real programmer. I throw together things until it works then I move on. The real programmers will say “Yeah it works but you're leaking memory everywhere. Perhaps we should fix that.” I’ll just restart Apache every 10 requests.
翻译过来就是:「重启应该就有好运气」。
那怎么破的,能教教吗?
上 Docker!
欢迎进入「PHP 应用 Docker 开发大礼包 - Powered by DaoCloud」,六篇由浅入深、精心设计的系列文章,带领 PHP 开发者领略 Docker 化应用开发和发布的全新体验。
- 如何制作一个定制的 PHP 基础 Docker 镜像(一)
- 如何开发一个 PHP 的 Docker 化应用(二)
- 如何开发一个 PHP + MySQL 的 Docker 化应用(三)
- 如何配置一个 Docker 化持续集成的 PHP 开发环境(四)
- 如何开发一个 PHP + NewRelic 的生产级 Docker 化应用(五)
- 如何开发一个 Laravel + MySQL 框架的 Docker 化应用(六)
https://www.oschina.net/question/2322629_244177
PHP 开发者的 Docker 之旅的更多相关文章
- 【转】开发者可以使用Docker做什么?
有些开发者可能还是不明白 Docker 对自己到底有多大的用处,因此翻译 Docker 个人用例 这篇文章中来介绍 Docker 在普通开发者开发过程中的用例. Docker 如今赢得了许多关注,很多 ...
- Docker学习总结(6)——通过 Docker 化一个博客网站来开启我们的 Docker 之旅
通过 Docker 化一个博客网站来开启我们的 Docker 之旅 这篇文章包含 Docker 的基本概念,以及如何通过创建一个定制的 Dockerfile 来 Docker 化Dockerize一个 ...
- 一、Docker之旅
刚刚接触到docker的同事可能会一头雾水,docker到底是一个什么东西,先看看官方的定义. Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔 ...
- OneSQL的docker之旅
百度盘下载地址: http://pan.baidu.com/s/1v9GWA OneSQL Docker使用方法: 1. 解压 tar zxvf OneSql-Docker-5.6.2 ...
- Docker(一)Linux开启你的Docker之旅
前言 Docker容器最早受到RHEL完善的支持是从最近的CentOS 7.0开始的,官方说明是只能运行于64位架构平台, 内核版本为2.6.32-431及以上(即 >= CentOS 6.5, ...
- 简单四步開始树莓派上的Docker之旅
大概这篇博文发表之后,应该算是我个人的第一篇翻译作品了,翻译的可能不是非常到位,望各位看官大刀砍过来. 原文链接:http://resin.io/blog/docker-on-raspberry-pi ...
- 面向开发者的Docker实践
show me the code and talk to me,做的出来更要说的明白 本文源码,请点击learnSpringboot 我是布尔bl,你的支持是我分享的动力! 一. 引入 有开发经验的都 ...
- Docker对普通开发者的用处(转)
有些开发者可能还是不明白 Docker 对自己到底有多大的用处,因此翻译 Docker 个人用例 这篇文章中来介绍 Docker 在普通开发者开发过程中的用例. Docker 如今赢得了许多关注,很多 ...
- 用浏览器快速开启Docker的体验之旅
互联网科技发展创造了很多奇迹,比如我今天要提到的 docker 技术就是其一.我很早就关注它(在2015年写过这方面的博客),那会儿还只是一个开源项目,现在已经是一个行业事实标准了,它推动了云原生的变 ...
随机推荐
- Springmvc借助SimpleUrlHandlerMapping实现接口开关功能
一.接口开关功能 1.可配置化,依赖配置中心 2.接口访问权限可控 3.springmvc不会扫描到,即不会直接的将接口暴露出去 二.接口开关使用场景 和业务没什么关系,主要方便查询系统中的一些状态信 ...
- 改变字体大小实现自适应之js方案A
一.元素大小有两种写法 1.写结果:设计师给的移动端页面sketch设计稿一般是750px宽度,在sublime编辑器里,设置cssrem或rem-unit插件为56px的字体大小.做页面时,设计稿是 ...
- SpringBoot整合Mybatis完整详细版
记得刚接触SpringBoot时,大吃一惊,世界上居然还有这么省事的框架,立马感叹:SpringBoot是世界上最好的框架.哈哈! 当初跟着教程练习搭建了一个框架,传送门:spring boot + ...
- HDU.4700.Flow(构造 最小割树)
题目链接 \(Description\) 给定\(n\)以及\(n\)个点任意两点之间的最大流,求一张无向图满足给定条件. \(n\leq100\). \(Solution\) 有些类似最小割树. 我 ...
- BZOJ.2597.[WC2007]剪刀石头布(费用流zkw)
BZOJ 洛谷 \(Description\) 给定一张部分边方向已确定的竞赛图.你需要给剩下的边确定方向,使得图中的三元环数量最多. \(n\leq100\). \(Solution\) 这种选择之 ...
- Scrapy基础(二)————Scrapy的安装和目录结构
Scrapy安装: 1,首先进入虚拟环境 2,使用国内豆瓣源进行安装,快! pip install -i https://pypi.douban.com/simple/ scrapy 3,特殊情 ...
- [蓝点ZigBee] Zstack 之点亮LED灯 ZigBee/CC2530 视频资料
LED点灯实验,主要是依据Zstack 现有程序修改LED相关驱动,适配到我们自己的开发板上,我们开发板共有4个LED灯,其中一个是电源指示灯,剩余3个都是GPIO控制的LED灯,有LED 灯连接方式 ...
- openssl可以实现:秘钥证书管理、对称加密和非对称加密
openssl enc -e -aes-128-cbc -iv 0102030405060708 -K 1234567890123456 -in input.xml -out output.xml( ...
- C++学习笔记46:模板与群体数据
函数模板 创建一个通用功能的函数,支持多种不同的形参:简化重载函数的函数体设计: 语法形式 template <模板参数表> 函数定义:模板参数表的内容:类型参数:class(或typen ...
- Map不同具体实现类的比较和应用场景的分析
1.Map的概括总结 (01) Map 是“键值对”映射的抽象接口.(02) AbstractMap 实现了Map中的绝大部分函数接口.它减少了“Map的实现类”的重复编码.(03) SortedMa ...