8
回答
基于Docker构建的PHP开发环境
【腾讯云】校园拼团福利,1核2G服务器10元/月!>>>   

Docker-PHP

Features

  • 支持自定义配置文件
  • 数据存储在宿主机
  • xdebug 支持
  • 几乎包含了常用的扩展
  • React/PHP 支持(Event-driven, non-blocking I/O with PHP.像Node.js)
  • swoole 支持

Software Stack

  • MongoDB
  • Redis
  • MySQL
  • PHP 7.1 + PHP-FPM
  • Nginx with LuaJit

Docs

English 简体中文

How to use it?

If live behind the GFW please read this post Use Ali cloud

Requirements

Windows and Mac users only need to install Docker

Getting started

git clone https://github.com/huangyanxiong01/docker-php.git cd docker-php
composer install 
docker-compose up -d

Now,you can open http://127.0.0.1:3000/ in browser

Configure

You can find the custom $software configuration file in./docker/$software/etc/

Data

You can find the $software data file in./docker/$software/data/

Log

You can find the $software log file in./docker/$software/logs/


MIT License

Copyright (c) 2016 Freax

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Github

Github 基于Docker构建的开发环境,欢迎提交Issue,PR 



举报
huangyanxiong
发帖于1年前 8回/2K+阅
共有8个评论 最后回答: 1年前

引用来自“Feng_Yu”的评论

改启动参数的方法已经过时,现在的做法是建一个/etc/docker/daemon.json配置文件

刚才去看了一下,并没有这个文件,我的docker版本是1.12.3

--- 共有 3 条评论 ---
Feng_Yu以及这个: https://lug.ustc.edu.cn/wiki/mirrors/help/docker 1年前 回复
Feng_Yuhttps://docs.docker.com/engine/reference/commandline/dockerd/#/daemon-configuration-file 1年前 回复
Feng_Yu本来就没有,要自己手工建立的,你看docker的官方文档就知道了,已经不推荐改启动参数了 1年前 回复

引用来自“Feng_Yu”的评论

改启动参数的方法已经过时,现在的做法是建一个/etc/docker/daemon.json配置文件

引用来自“huangyanxiong”的评论

刚才去看了一下,并没有这个文件,我的docker版本是1.12.3

https://docs.docker.com/engine/deprecated/

  • React/PHP 支持(Event-driven, non-blocking I/O with PHP.像Node.js)

这句话是什么意思, PHP怎么做到像node.js non-blocking I/O 的?

--- 共有 1 条评论 ---
eechen 峰哥用C开发的PHP Swoole同样能实现异步非阻塞编程,没什么大惊小怪的,非阻塞不是Node的专属. 1年前 回复

引用来自“xpentium”的评论

  • React/PHP 支持(Event-driven, non-blocking I/O with PHP.像Node.js)

这句话是什么意思, PHP怎么做到像node.js non-blocking I/O 的?

React/PHP是基于事件,非阻塞式I/O的编程语言,底层是由libev/libuv提供事件轮询,由Zend engine解释PHP,Node.js也用到libuv/libev,所以它们核心思想是一样的

引用来自“xpentium”的评论

  • React/PHP 支持(Event-driven, non-blocking I/O with PHP.像Node.js)

这句话是什么意思, PHP怎么做到像node.js non-blocking I/O 的?

引用来自“huangyanxiong”的评论

React/PHP是基于事件,非阻塞式I/O的编程语言,底层是由libev/libuv提供事件轮询,由Zend engine解释PHP,Node.js也用到libuv/libev,所以它们核心思想是一样的
会Node.js写React/PHP就会觉得很简单,反之亦然,个人非常喜欢这种编程思想
--- 共有 3 条评论 ---
huangyanxiong回复 @xpentium : swoole和React/PHP都可以 1年前 回复
eechen回复 @xpentium : http://www.swoole.com/ 这里其实就有常见的异步请求其他服务的例子,包括异步请求MySQL/Redis/HTTP Server. 1年前 回复
xpentium能够通过他向其它服务器发异步请求吗? 1年前 回复

引用来自“eechen”的评论

想XAMPP那样的解压即用的打包更便捷.
我下面的方法也不错,什么Apache/Nginx/MySQL/Redis/HHVM通通都可以像PHP这样打包,并且共享依赖库.
解压即用,跨Linux发行版PHP7打包方法
我打包的Android版PHP7(PHPDroid)则用的是静态链接依赖库的方式,APK包大小不到6MB,不知道你的Docker镜像有多大呢?
你可以拿它和docker功能对比
--- 共有 1 条评论 ---
eechenAndroid上PHP不需要那么多其他服务,用PHP内置的HTTP服务器和SQLite数据库即可.如果你说的是PC,我说的是打包方法,打包PHP7是个举例,如果你还要举例,可以看看你没有的HHVM,我打包也是用一样的方法 https://my.oschina.net/eechen/blog/371643 1年前 回复
顶部